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

来源:互联网 发布:mac怎么打开多个终端 编辑:程序博客网 时间:2024/04/30 22:54

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)                   

 

 

 

 

 

原创粉丝点击