同一设备上的多个 SSH 密钥

4 git macos ssh github 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
Run Code Online (Sandbox Code Playgroud)

我也这么做了ssh <keyname>,并且已经通过身份验证。

之后我执行了以下命令。

git init
git add 
git remote add origin <repo>
Run Code Online (Sandbox Code Playgroud)

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

我收到这个错误。

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

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

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

为什么我会收到该错误消息?

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

Ind*_*Ots 6

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

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

进一步阅读:

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

git clone git@github-companyname:companyname/repositoryname.git
Run Code Online (Sandbox Code Playgroud)

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