【发布时间】:2017-07-17 18:41:35
【问题描述】:
我在远程访问的机器上使用 git (github) 时遇到了一些问题。我通过 ssh 从家里登录到我的工作计算机,例如
me@home$ ssh me@work
之后,我尝试通过家庭例如在我的工作计算机上向 github 发出拉取或推送请求。
me@workViaHome$ git pull origin branch
之后我收到错误:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我尝试使用以下方法从我的工作计算机加载 ssh 密钥:
me@workViaHome$ eval "$(ssh-agent -s)"
me@workViaHome$ ssh-add ~/.ssh/id_rsa
但仍然没有运气。当我在工作计算机上时,我可以毫无问题地向 github 发出请求;因此,由于我的 ssh 会话,我的 ssh-keys 的状态似乎存在问题。
感谢您的帮助!
【问题讨论】:
-
验证你在workViaHome上添加的私钥实际上是你在github上添加的公钥的正确私钥。还要验证 ~/.ssh 目录的访问权限是否正确。最后,尝试使用与 git 相同的用户/端口 ssh 到 github,并添加详细标志以获取更多信息。
-
所以我将问题隔离到 ssh-add 没有触发 git 使用 ~/.ssh/id_rsa 密钥,它仍在尝试使用默认密钥。我现在作弊了,因为我将默认密钥添加到 github 并且它可以工作。我使用 ssh -vT git@github.com 来解决这个问题。我仍然不确定为什么 ssh 一直回退到默认密钥