如何在一台电脑上管理2个SSH Key?

一台电脑一般只用1个SSH Key就够了,为什么会在一台电脑上管理多个SSH Key?也许你会遇到和我一样的使用场景,就是自己在家写代码使用github,往github上提交代码用1个SSH Key是没问题的,但有时候会遇到紧急情况需要处理公司的工作,为了能及时往公司用的gitlab上提交代码,只设置1个SSH Key是不够用的,因此为了满足这种情况还需要增加1个SSH Key。

为了更好的说明如何在一台电脑管理多个SSH Key,我把电脑上原有的SSH Key都先删除了,重头开始演示添加SSH Key的整个过程。

使用的开发环境是Windows10,整个过程分为如下几个步骤:

1.生成第1个SSH Key

本地项目代码,要提交到gitlab,把自己的代码提交到公司的git服务器上,这一切都需要一个SSH Key。安装好git后,右键Git Bash Here,输入如下命令:

$ ssh-keygen -t rsa -C"youremail@yourcompany.com"

输入完以上命令,然后一直按回车就行了。

这样就能使用ssh生成第1个key了,默认会在根目录(windows下是:C:\Users\用户名.ssh)下生成 id_rsa, id_rsa.pub 2个文件,即公钥和私钥。

2.生成第2个SSH Key

第2个key主要是为了把本地代码提交到github上,自己平时写的代码都提交到github上,用来和其他人学习交流。

$ ssh-keygen -t rsa -C"youremail@xxxxx.com"

这个时候需要注意,在生成第2个Key的时候就不要一直按回车了,输入完以上命令后要给这个文件起一个名字, 例如叫 id_rsa_github, 然后再按回车,最后在这个目录下相应的也会生成一个 id_rsa_github.pub 文件,操作过程如下图所示:


生成 id_rsa_github.pub文件

最后生成两个key的结果如图所示:

生成2个Key

3.修改配置文件

在你的 ~/.ssh 目录下新建一个config文件,添加如下内容:

# gitlab
Host github.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github

4.将私钥添加到ssh-agent

首先要明白为什么做这步操作,简单来说就是

ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中

$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa_github

注意:如果执行ssh-add的时候,提示"Could not open a connection to your authentication agent",则执行命令:

$ ssh-agent bash

然后再执行ssh-add命令。
命令具体可参考:ssh-agent命令

5.设置SSH keys

登录https://github.com/settings/keys,点击New SSH keys,先后添加上2个SSH,这样就可以在一台电脑上管理2个SSH了。

6.测试连接

输入命令:

$ ssh -T git@github.com`
输出结果

如果输出以上结果,就表示成功连上github了。

注意两点:

1.mac上与windows类似,最主要的是注意文件路径。

2.一般最多管理2个SSH Key,当然也可以管理多个。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 周末两天和文姐一起上课、一起嗨皮、一起聊天,感觉能量场特别好……而且呢,我越来越发现自己的高峰9在离我而去,下一个...
    秋小愚358阅读 221评论 0 1
  • 今年的暑假与以往真是大不相同,以往暑假以休息为主,除了统一组织的培训外,其余时间大部分是在家休息。因为有了互加今年...
    9b5614673f63阅读 160评论 0 5
  • (一) 以前还在上大学时候,每次和室友走在校园里,要是碰上有家长带着孩子到校园里来散步。我的那几个舍友们准会母爱泛...
    九命猫11246阅读 408评论 6 2
  • 无语,今天我惹了他,然后他打了我,我挑战他的耐性,也不过如此,这个我给他生儿育女的男人。哭什么,根本没有用。在原...
    凯的西阅读 240评论 0 0