搜索
您的当前位置:首页正文

同一台电脑管理多个SSH key

来源:二三娱乐

SSH key生成

ssh key生成

$ ssh-keygen -t rsa -C 

此时会提示保存key的名字及路径,我们只需要自定义key的名字(路径)即可。

Enter file in which to save the key (/Users/caichenghan/.ssh/id_rsa): 

填写自定义路径

/Users/caichenghan/.ssh/id_rsa_github

输入密码生成 ssh key ,可直接按Enter进入生成。

查看生成的ssh key

$ cd /Users/caichenghan/.ssh
$ ls

目录下会多出2个文件,分别为 id_rsa_githubid_rsa_github.pub ,前者为私钥,后者为公钥,我们只需要把公钥上传到github账户的公钥管理中即可。

我们还可以使用Finder查看该路径:Finder->右键->前往文件夹-> ~/.ssh

查看公钥

$ cat ~/.ssh/id_rsa_github.pub

查看名为 id_rsa_github.pub 的公钥,然后将公复制下来,打开 Github 个人设置中的 公钥管理 中,添加公钥即可。

账户验证

$ ssh -T 

此时会有个提示,如下

The authenticity of host  (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

站点的公钥信息,可以在 ~/.ssh 目录下的 known_host 里查看。有时候需要删除这个 known_host 里的站点公钥,重新建立安全连接。

然而,此时的验证确是失败的,因为这个验证会使用默认的名为 id_rsaid_rsa.pub 的文件进行信息交互,很显然这不是我们想要的。what can i do ?

ssh key 配置文件制作

配置文件制作

$ vim ~/.ssh/config

配置 github 的ssh key

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

其中 Host 为站点; HostName 为站点名; PreferredAuthentications 为优先使用公钥连接; IdentityFile ,私钥路径。

如果站点为 ip地址 ,则用 ip地址 代替 域名 即可。

再次验证

$ ssh -T 
Hi xxx! You've successfully ... 

成功!

同理,我们还可以继续添加其它账号的 ssh key ,这样就可以同一台电脑,使用多个 ssh key 免密码的git操作了。

Top