嗯,事情是这样的。
我的github用的是qq邮箱。不要吐槽我为什么要用qq邮箱了,这是一个巧合。
到公司要用gitlab,当然也有新的公司邮箱。由于邮箱不一样,因此,两者所使用的key也最好不一样。其实也可以一样,大概我强迫症犯了吧。
ssh-keygen -t rsa -C “youremail@yourcompany.com”
ssh-keygen -t rsa -C “youremail@qq.com”
嗯,除了生成的文件名要该一下,其他的一路回车。
比如一个叫id_rsa,一个叫id_rsa_gitlab
然后配置一个config文件,文件内容如下:
// gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
// github(为什么加个#就加粗,反正是注释。)
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
之后网页那边设置好key。
然后 ssh -T git@github.com 验证。
踩坑:
Bad owner or permissions on ~/.ssh/config
解决办法:
chmod 600 *
原因:
This is the per-user configuration file.
This file is used by the SSH client.Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not accessible by
others.