Git 同一设备上的多个SSH密钥

Git 同一设备上的多个SSH密钥,git,macos,github,ssh,ssh-keys,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-company

几个月前我注册了一个个人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
,我已经通过了身份验证

之后,我执行了以下命令

git init
git add 
git remote add origin <repo>
git init
git添加
git远程添加源
在我运行git push-u origin master之前,一切都正常

我得到这个错误

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

请确保您具有正确的访问权限,并且存储库存在

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

为什么我会收到那个错误消息


如果这有什么不同的话,我使用的是OSX Sierra 10.12.4。

因为我的评论解决了OPs问题,所以我写这篇文章作为一个答案

问题似乎在于,同一台主机有多个ssh密钥。在
.ssh/config
中,您已经配置了两台主机-
github.com
github companyname
。在公司存储库中,您需要从
git@github.com:…
git@github-公司名称:…
。然后ssh将使用正确的密钥,您应该不会遇到身份验证问题

进一步阅读:

  • 尤其是评论
当需要使用公司密钥克隆现有存储库时,可以应用相同的方法

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

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

,似乎您在使用git的同一主机的多个ssh密钥方面存在问题。我也面临过类似的问题。也许这有帮助,尤其是评论。确保在.git/config中修改远程源url,并将主机名从
github.com
更改为ssh配置中定义的
github companyname
。是否在github帐户ssh密钥部分添加了用于公司github acc的ssh密钥?@IndrekOts您的链接非常有用,解决了我的问题问题我非常感谢你!我将编辑我的答案以帮助其他人:)不要向问题添加答案。这里有回答吼叫的字段!或者@IndrekOts,你能用你在评论中写的内容填写答案吗,因为它解决了老年退休金问题?@Jakuje补充了我的评论作为答案。