0%

关于git的ssh-key:解决本地多个ssh-key的问题

在设置 github 的时候,官方的说明文档要求备份当前的 id_rsa,然后生成一份新的私钥用于 github 的登陆。如果真这样做,那么新的私钥是无法再继续登陆之前的机器的。这种方法有点暴力…
还好 ssh 可以让我们通过不同的私钥来登陆不同的域。

首先,在新增私钥的时候,通过指定不同的文件名来生成不同的私钥文件

1
2
ssh-keygen -t rsa -f ~/.ssh/id_rsa.work -C "Key for Work"
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "Key for GitHub"

新增 ssh 的配置文件,并修改权限

1
2
touch ~/.ssh/config
chmod 600 ~/.ssh/config

修改 config 文件的内容

1
2
3
4
5
6
7
Host *.workdomain.com
IdentityFile ~/.ssh/id_rsa.work
User lee

Host github.com
IdentityFile ~/.ssh/id_rsa.github
User git

这样在登陆的时候,ssh 会根据登陆不同的域来读取相应的私钥文件