相关疑难解决方法(0)

通过不同用户名的代理转发(Git 和部署)

此查询与 Git 没有直接关系,但由于 Git 支持的传输之一是 SSH,并且我正在尝试使用代理转发,我想我会要求澄清(手册页让我失望)

我正在尝试使用 Capistrano 自动化软件部署,我设法暂停了一些痛点(在部署之前预先播种已知主机等),但我遇到了以下情况。

我的团队以自己的身份登录服务器,个人用户帐户,每个人都在一个developers组中,并且umask002. 以上都不是真正相关的,只是说目的是确保我的团队始终可以像他们自己一样工作,而无需超级用户特权。

我们example.com使用以下方法连接到服务器~/.ssh/config

Host example.com
  User beaks
  ForwardAgent yes
  IdentityFile ~/.ssh/id_rsa_business
Run Code Online (Sandbox Code Playgroud)

初始登录工作正常,ssh example.com打开与我的用户帐户的连接,一切正常。

问题出现在下一步,

git ls-remote git@github.com:project/repository.git
Run Code Online (Sandbox Code Playgroud)

这是使用前面提到的 Git+SSH 传输层(见上面的链接) - 通常应该使用我的转发代理密钥(我已经用 验证过env | grep SSH_AUTH_SOCK

响应是一个简单的“身份验证失败(公钥)另一端意外挂断”,我怀疑是因为当我github.com作为他们的共享git用户接近时,我的用户的代理没有被使用。

我也不能排除EC2怪异(安全策略等) - 但在这种情况下,我会期望超时或连接失败。我非常有信心我正在击球github.com- 而且他们不让我进入,因为我的代理没有beaks为他们的git用户提供我的钥匙。

如果我错过了任何内容,很高兴添加任何其他信息。

ssh git github ssh-agent

8
推荐指数
1
解决办法
4527
查看次数

标签 统计

git ×1

github ×1

ssh ×1

ssh-agent ×1