无法使用SSH代理转发运行git命令

时间:2014-09-27 00:36:58

标签: git ssh

我想在我的VPS服务器上运行git命令,如下所示:

ssh -A user@mydomain.com 'git ls-remote git@bitbucket.org:myuser/repo.git'

但我收到错误消息:

Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我可以使用SSH代理转发运行其他命令。 (在其他服务器上,此命令可以正常工作。)

1 个答案:

答案 0 :(得分:6)

“主机密钥验证失败”消息可能意味着您的VPS上的SSH客户端不信任git服务器。

请改为尝试:

ssh -A user@mydomain.com 'ssh -T -o StrictHostKeyChecking=no git@bitbucket.org < /dev/null'
ssh -A user@mydomain.com 'git ls-remote git@bitbucket.org:myuser/repo.git'

第一个命令应该使SSH密钥缓存在VPS上的.ssh/known_hosts中。从那时起,第二个命令应该可以工作。

您也可以通过在VPS用户帐户上创建.ssh/config来解决此问题,其中包含类似的内容(未经测试):

Host bitbucket.org
    User git
    StrictHostKeyChecking no

假设上面的configuraiton片段有效,它将为您节省一个SSH连接。