本地ssh key连接多个git账号

在开发过程中,可能需要在本地同时连接到多个gitlab账户,但是一个用户的ssh key只能连接到一个git账户,这就需要创建多个ssh key,分别连接到不同的账户。具体步骤如下:
1.生成ssh key
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
 
  
默认生成的key为 ~/.ssh/id_rsa,生成的两个key名称需要不同,这里名称设为id_rsa_inner和id_rsa_outer。
命令执行完后会在~/.ssh/目录下生成id_rsa_xxx和id_rsa_xxx.pub文件。
 
2.在git中添加ssh key
以github为例,点击settings —> SSH keys and GPG keys —> New SSH key,将id_rsa_outer文件中的内容添加进来。
同理,在内部git中添加id_rsa_inner ssh key。
 
3.本地配置
在~/.ssh/目录下创建config文件,内容如下:
 Host github.com                                                                  
     HostName github.com                                                          
     PreferredAuthentications publickey                                           
     IdentityFile ~/.ssh/id_rsa_outer                                            
                                                                                 
Host git.xxx.com                                                              
     HostName git.xxx.com                                                    
     PreferredAuthentications publickey                                           
     IdentityFile ~/.ssh/id_rsa_inner   
 
其中Host为别名,HostName为git的地址。即将本地的两个ssh key与不同的git仓库绑定起来。
 
4. 测试连接
ssh -T git@github.com
 
如果出现以下内容,则表示连接成功。
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
 
 
注:可以使用 ssh -vT git@github.com 开启Debug,查看具体的连接过程。

posted on 2018-11-07 11:59  LG一直在努力  阅读(1002)  评论(0编辑  收藏  举报

导航