将多个Github帐户与SSH密钥一起使用

时间:2018-11-19 04:11:36

标签: git powershell github ssh

最近我已获得访问Github存储库的权限,该问题将称为work,该存储库的访问权限已通过SSH密钥授予了我。

我为自己的帐户使用SSH密钥(我将其称为me),这并没有给我带来任何问题,并且可以继续正常使用该帐户下的任何存储库。

我的config文件设置如下

Host me.github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/me

Host work.github.com
     HostName github.com
     User git
     IdentityFile ~/.ssh/work

当我尝试使用ssh-add -l时,两个密钥都显示出来,并且两个帐户都添加了正确的公共密钥。

发送命令ssh -T git@github.com返回Hi me! You've successfully authenticated, but GitHub does not provide shell access.,尽管如果我发送命令ssh -T git@work.github.com则它以正确的方式响应。

通过git remote -v验证,提取和推送的原始位置都设置为ssh链接。

我已经尝试following this gistthis Medium articleand this StackOverflow question以及其他一些方法都没有成功。

我可能还应该包括我在Chocolate 10上安装的Windows 10 LTSB build 14393,Powershell 5.1,git版本2.19.1.windows.1和posh-git 0.7.3.1上运行。

1 个答案:

答案 0 :(得分:1)

首先,使用以下命令检查两个SSH密钥:

ssh -Tv me.github.com
ssh -Tv work.github.com

第二,您可以在回购中添加两个URL进行测试:

git remote set-url origin me.github.com:<auser>/<arepo>
git remote origin originWork work.github.com:<auser>/<arepo>

(URL中不需要git@

从那里,您可以使用一个或另一个起点拉/推。