http://blog.csdn.net/roly_yu/article/details/53483258

http://blog.csdn.net/yasaken/article/details/7348441

 

最后发现几点注意事项:

1 利用对应的用户名邮箱生成key

2 生成多个的时候记得自定义key的名称,否则会覆盖原有的key

3 在与服务器进行首次ssh连接时会出现如下提示,输入yes以继续,因为ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥,所以首次会有一个添加过程。

Mac下配置多个SSH-Key

3 在进行ssh连接时,默认会使用的private key为id_sra,所以当我们改变了key的名称或者是多个key的时候需要指定key的位置。

在~/.ssh中创建config文件,然后利用IdentityFile 指定key的位置

Mac下配置多个SSH-Key

 

打开终端,前往.ssh目录

Mac下配置多个SSH-Key

生成一个SSH-Key

$ ssh-keygen -t rsa -C "youremail@email.com"
  • 1
  • 1

自定义生成key的名字

Mac下配置多个SSH-Key

设置密码

Mac下配置多个SSH-Key

成功生成SSH-Key

Mac下配置多个SSH-Key

配置SSH-Key

在~/.ssh/目录下会生成id-rsa_hostname和id-rsa_hostname.pub私钥和公钥。 我们将id-rsa_hostname.pub中的内容粘帖到服务器的SSH-key的配置中。

$ cat id_rsa_hostname.pub
  • 1
  • 1

Mac下配置多个SSH-Key

在GitHub的设置中粘贴公钥

Mac下配置多个SSH-Key

测试

$ ssh -T git@github.com
  • 1
  • 1

Mac下配置多个SSH-Key

配置多个SSH-Key

打开Finder前往.ssh文件夹

Mac下配置多个SSH-Key

Mac下配置多个SSH-Key

编辑config文件

Mac下配置多个SSH-Key

 

#github  
Host github  
HostName github.com  
User xxx@xxx.com  
IdentityFile ~/.ssh/id_rsa_1  
  
#github2  
Host github2  
HostName github2.com  
User xxx2@xxx.com  
IdentityFile ~/.ssh/id_rsa_2  
  
#github3  
Host github3  
HostName github3.com  
User xxx3@xxx.com  
IdentityFile ~/.ssh/id_rsa_3  

  

设置名称为id_id_rsa的肯定没有问题了,

发现设置成其他名称的就算配置了 IdentityFile 依然报错

这是可以执行  ssh -v git@github.com

发现根本没有寻找设置的名称

Mac下配置多个SSH-Key

 

所以hack的方式就是将另一个名称设置成id_dsa 因为回默认找这个文件

 

相关文章: