几个月前我注册了一个私人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。
答案 0 :(得分:2)
由于我的评论解决了OP问题,我将此作为答案。
问题似乎在于您为同一主机提供了多个ssh密钥。在.ssh/config
您已配置2个主机 - github.com
和github-companyname
。在公司存储库中,您需要将.git/config
中的远程网址从git@github.com:...
更改为git@github-companyname:...
。然后ssh将使用正确的密钥,您应该没有身份验证问题。
进一步阅读:
当您需要使用公司密钥克隆现有存储库时,可以应用相同的方法。
git clone git@github-companyname:companyname/repositoryname.git
请注意,该命令使用github.com
而不是github-companyname
。