git capistrano 3.2.1 中的身份验证错误

git authentication error in capistrano 3.2.1

我已将 server_users rsa.pub 键添加到 git,我得到的错误是

Running /usr/bin/env git ls-remote -h http://git.example.com/nishant/pro-gasket.git on 52.24.70.121
DEBUG[c40f8fa6] Command: ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/pro-gasket/git-ssh.sh /usr/bin/env git ls-remote -h http://git.example.com/nishant/pro-gasket.git )
DEBUG[c40f8fa6]     fatal: Authentication failed for 'http://git.example.com/nishant/pro-gasket.git/'
DEBUG[c40f8fa6]     
DEBUG[c40f8fa6] Finished in 1.549 seconds with exit status 128 (failed).
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host 52.24.70.121: exit
/home/codebajra/.rvm/gems/ruby-2.1.3@pro-gasket/gems/capistrano-3.2.1/lib/capistrano/tasks/git.rake:28:in `exit'  

git服务器版本为1.9.1

因为服务器使用 ssh 连接到 github,所以使用 ssh 的 repourl。

除了基本的-

  • 确保 git 安装在远程主机上,并且
  • 确保失败的用户有权访问存储库

您可能会遇到这样一种情况,即您的部署刚刚停止工作,或者它们正在为某些用户工作而不为其他用户工作 - 即您知道远程主机设置正确。

在这种情况下,失败的用户可能没有将他们的 SSH 密钥添加到本地的 ssh 代理 - 这是必需的,因为 Capistrano 使用 SSH 代理转发(即将您的本地 ssh 密钥转发到您的远程主机)。

要修复,请确保您的代理 运行(本地)如下:

eval `ssh-agent -s`

然后添加您的密钥

ssh-add

验证您的身份是否已添加如下:

ssh-add -l