解决本地多个ssh key问题
在设置github的时候,官方的说明文档要求备份当前的id_rsa,然后生成一份新的私钥用于github的登陆。如果真这样做,那么新的私钥是无法再继续登陆之前的机器的。
这个问题我们可以通过在~/.ssh目录下增加config文件来解决。
1. 第一步是配置git用户名和邮箱
git config user.name "用户名"
git config user.email "邮箱"
2. 生成ssh key时同时指定保存的文件名
ssh-keygen -t rsa -f ~/.ssh/id_rsa.work -C "Key for Gitlab"
ssh-keygen -t rsa -f ~/.ssh/id_rsa.sohu -C "Key for GitHub"
上面的id_rsa.sohu就是我们指定的文件名,这时~/.ssh目录下会多出id_rsa.sohu和id_rsa.sohu.pub两个文件,id_rsa.sohu.pub里保存的就是我们要使用的key。
3. 新增并配置config文件
添加config文件
如果config文件不存在,先添加;存在则直接修改
touch ~/.ssh/config
在config文件里添加如下内容(User表示你的用户名)
Host *.cloudscape.sohu.com
IdentityFile ~/.ssh/id_rsa.sohu
User lee
Host github.com
IdentityFile ~/.ssh/id_rsa.github
User git
这样在登陆的时候,ssh会根据登陆不同的域来读取相应的私钥文件
4. 上传key到平台后台(省略)
5. 测试ssh key是否配置成功
ssh -T git@git.cloudscape.sohu.com
成功的话会显示:
Welcome to GitLab, username!
至此,本地便成功配置多个ssh key。日后如需添加,则安装上述配置生成key,并修改config文件即可。