配置单个git ssh-key很简单,直接用命令’ssh-keygen -t rsa’生成private key 和public key,然后在git服务器上配置好public key(id_rsa.pub)一般就可以成功连接git服务器了。但是如果有多个id_rsa private key,如何配置呢?如何指定不同git服务器用不同的id_rsa private key呢?下面简单介绍用两个不同的id_rsa private key分别连接github和gitee(码云)
1、首先生成两个id_rsa文件1
2
3
4
5
6
7
8## 生成github的ssh-key
ssh-keygen -t rsa -C "tenke@gmail.com" -f ~/.ssh/github_id_rsa
## 生成gitee的ssh-key
ssh-keygen -t rsa -C "tenke@gmail.com" -f ~/.ssh/gitee_id_rsa
## 查看ssh-key
ls ~/.ssh/
2、分别到github和gitee上面配置好public key
这一步省略,配置public key没有什么好说的,都是图形界面,只要把id_rsa.pub的内容复制进去保存就ok了
3、配置config文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25## 在~/.ssh/目录下创建config文件
touch ~/.ssh/config
## 增加配置项
vi ~/.ssh/config
## 分别添加github和gitee的配置(如果还有多个,对照下面的配置即可)
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
## 配置参数说明
# Host : 用来指定该key的Host名字,此处必须使用本地repo的hostname github.com
# HostName : 此处指定Host对应的具体域名,这里跟Host保持一致。
# User : 登录名(这可以不用配置)
# IdentityFile : 私钥identityFile路径(id_rsa的位置)
## 修改config、id_rsa文件的权限
chmod 600 github_id_rsa
chmod 600 gitee_id_rsa
chmod 664 config
4、测试1
2ssh -Tv git@github.com
ssh -Tv git@gitee.com
如果出现以下内容说明已经成功1
2
3
4
5
6Welcome to Gitee.com, Tenken!
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2648, received 1408 bytes, in 0.2 seconds
Bytes per second: sent 13665.1, received 7266.0
debug1: Exit status 0