1

我继承了一个当前已损坏的部署系统,我不知道如何修复它。

基本设置是向 ssh-agent 添加 3 个密钥,并通过 ThoughtWorks 的 Go 部署软件从 Github 中提取一些私有存储库。

我似乎需要运行一个可由多个用户帐户访问的 ssh-agent。

我已经启动了一个 ssh-agent 并向它添加了密钥,然后我能够从命令行克隆私有存储库而没有问题,但是当主应用程序(使用相同的用户帐户)尝试克隆它时失败了权限被拒绝错误。

我的猜测是,由于某种原因,应用程序无法访问持有密钥的 ssh-agent。

以下是我的说明:

  • 导出 SSH_AUTH_SOCK=/var/go/ssh-agent.sock
  • ssh-add ~/.ssh/go_deploy_id_rsa
  • ssh-add ~/.ssh/go_id_rsa
  • ssh-add ~/.ssh/deploy_id_rsa

当我设置 SSH_AUTH_SOCK 环境变量时,它似乎会杀死任何正在/正在运行的 ssh-agent,当我发出 ssh-add 命令时,我得到了经典:

“无法打开与您的身份验证代理的连接。”

所以基本上我如何启动 ssh-agent 并让它使用我之前定义的 SSH_AUTH_SOCK 并保持运行,以便 Go 应用程序在与 Github 通信时使用它?

这个用途可以工作,所以我知道该设置在技术上是有效的。

已解决:原来我使用的 ssh-agent 套接字已经过时了。删除套接字并重新创建它允许添加密钥并再次进行通信。

4

0 回答 0