您的位置:首页 > 其它

UbuntuServer搭建Git服务器之SSH基本用法(一)

2012-10-24 20:43 525 查看
SSH协议是通过公钥和私钥来进行服务器的授权管理,是git的读写操作的标准协议。

假设cglab以服务器管理员账号,labserver为主机名。

1. 首先在linux server服务器安装openssh

$sudo apt-get install openssh-server

2. SSH的公钥与私钥,所生成的公钥可以用不同的用途,比如下面生成的id_rsa.pub公钥用作shell登陆,而gitadmin.pub用作git访问。

(1)创建公钥和私钥

$ssh-keygen //该操作是在客户端,

该命令会在用户主目录下创建 .ssh 目录,并在其中创建两个文件:

l id_rsa, 私钥文件。是基于 RSA 算法创建。该私钥文件要妥善保管,不要泄漏。

l id_rsa.pub, 公钥文件。和 id_rsa 文件是一对儿,该文件作为公钥文件,可以公开。

创建了自己的公钥/私钥对后,就可以使用下面的命令,实现无口令登录远程服务器,即用公钥认证取代口令认证。

$ssh-keygen –f~/.ssh/gitadmin //该命令创建一个指定名字为gitadmin的公私钥文件对。

(2)将公钥上传到服务器

$scp ~/.ssh/gitadmin.pubcglab@labserver:/tmp/ //上传到服务器,用作gitolite访问,具体用法参见下篇

$ scp ~/.ssh/id_rsa.pubcglab@labserver:/tmp/ //上传到服务器,用作shell访问

(3)将上传的公钥,根据需要用作不同用途

$ssh cglab@labserver //以cglab账号登陆服务器

cglab@labserver:~$sudo ssh-copy-id –i /tmp/id_rsa.pubgitadmin@labserver //加入到SSH登陆身份gitamdin,用作shell访问

(4)SSH主机别名

回到客户端,在~/.ssh/下创建SSH主机别名,以方便登陆服务器访问shell用。

$vi ~/.ssh/config

其内容为:

host admin

user gitadmin //登陆到服务器所用的身份验证

hostname labserver //服务器主机名

port 22

identityfile ~/.ssh/id_rsa //所用的公私钥对,在此用的是id_rsa

(5)通过SSH登陆服务器

$ssh gitadmin //使用别名,以服务器账号gitadmin身份登陆服务器,登陆shell哟。

$ssh gitadmin@labserver //将用默认的id_rsa来认证,可以登陆shell

辉辉
(FightingBull Studio)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: