Github Repo - '致命:无法从远程存储库读取。'

时间:2017-07-13 00:20:31

标签: git github

我无法从工作github帐户仓库克隆。我已经完成了生成ssh密钥对并将公钥上传到我的工作github帐户的步骤。我看到一个详细的日志克隆GIT_SSH_COMMAND="ssh -vvv" git clone git@github.com:<workAccount>/repo.git,使用公钥验证成功。因此,我认为这不是一个ssh auth问题。

但是,当我运行ssh -T git@github.com时,它会显示:

Hi AlexanderBollbach! You've successfully authenticated, but GitHub does not provide shell access.

现在AlexanderBollbach是我个人github帐户的名称,而不是我的工作github帐户。所以我可能会收到此错误'Could not read from remote repository.',因为我的个人github帐户没有读取我的工作github帐户的权限。

因此,我的问题是,如何将此ssh克隆过程与正确的github帐户相关联?在阅读中我已经使用了ssh,我还没有理解ssh如何与一个github帐户相关联的概念。我非常感谢不只是修复,而是正确理解在这种情况下如何成功使用私钥/公钥是不足以克隆回购。

2 个答案:

答案 0 :(得分:1)

“我仍然对ssh -T git@github.com如何打印我的个人github用户帐户名”感到困惑:“ 简单:如果您的公共帐户中注册了默认公钥~/.ssh/id_rsa.pub,则该帐户将显示在ssh -Tv git@github.com中。

如果您想管理多个帐户(特别是在推送时需要明确的身份验证和目标仓库的所有权),您需要一个~/.ssh/config文件,seen here

#Personal GitHub
Host persgh
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_perso

#Personal Work
Host workgh
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_work

然后,要成功克隆您的私人仓库:

git clone workgh:<workAccount>/<workRepo>

答案 1 :(得分:0)

  

来自Tombart的解决方案:

确保~/.git/config中有正确的网址:

url = git@github.com:<workAccount>/repo.git

如果是您的第一次推送,您需要设置正确的上游

$ git push -u origin master

您可以通过以下方式检查使用的密钥:

$ ssh -vvv git@github.com

这应该有用。

有用的资源