同一设备上的多个SSH密钥

时间:2017-04-27 15:30:08

标签: git macos github ssh ssh-keys

几个月前我注册了一个私人SSH密钥,一切正常。现在我在为一家公司工作。他们创建了自己的GitHub帐户,并且我已经开始了一个新的存储库。

我知道我必须添加另一个SSH密钥,我做了。

这是〜/ .ssh / config文件的内容。

Host github.com
    HostName github.com
    User git
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

Host github-companyname
    HostName github.com
    User git
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_companyname

我也做了ssh <keyname>并且我通过了身份验证。

之后我执行了以下命令。

git init
git add 
git remote add origin <repo>

一切正常,直到我运行git push -u origin master

我收到此错误。

  

错误:未找到存储库。
  致命的:无法从远程存储库读取。

     

请确保您拥有正确的访问权限并且存储库已存在。

我不明白。一切似乎都设置正确。

为什么我收到错误消息?

如果这有任何区别,我使用的是OSX Sierra 10.12.4。

1 个答案:

答案 0 :(得分:2)

由于我的评论解决了OP问题,我将此作为答案。

问题似乎在于您为同一主机提供了多个ssh密钥。在.ssh/config您已配置2个主机 - github.comgithub-companyname。在公司存储库中,您需要将.git/config中的远程网址从git@github.com:...更改为git@github-companyname:...。然后ssh将使用正确的密钥,您应该没有身份验证问题。

进一步阅读:

当您需要使用公司密钥克隆现有存储库时,可以应用相同的方法。

git clone git@github-companyname:companyname/repositoryname.git

请注意,该命令使用github.com而不是github-companyname