用 SSH key 解决 Github 多账号问题(Permission denied 解决方案)

技术分享 2018-04-24
用 SSH key 解决 Github 多账号问题(Permission denied 解决方案)

为多个 GitHub 账号各生成一个 SSH key,添加私钥、在 GitHub 配置公钥,再用 ~/.ssh/config 区分 Host,即可解决 Permission denied 报错。

一、生成多个 SSH key

ssh-keygen -t rsa -C "Yourname@Domainname.com"

先不要回车,输入这个 key 的名称(如 key_one),然后一路回车生成 key 文件。如果有两个账号,按同样方法再生成一个,如 key_two。

二、添加私钥

ssh-agent bash
ssh-add key_one

注意 key_one 的路径。添加成功会显示 Identity added: key_one (key_one)。

三、在 GitHub 添加 SSH key

对应账号添加对应的公钥,注意别搞混。

GitHub 添加 SSH key

四、本地创建 config 文件

touch ~/.ssh/config
vi ~/.ssh/config

填写配置,参考:

# key_one(Yourname@Domainname.com)
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile F:/key/key_one
User one

五、连接测试

ssh -T git@github.com

成功会显示:Hi ***! You''ve successfully authenticated, but GitHub does not provide shell access。若不成功,请仔细检查以上步骤是否有误。

SSH 连接测试结果