【发布时间】:2018-08-27 23:14:59
【问题描述】:
我已经添加了一个 deploy.pub 密钥以在 github 存储库上部署密钥,但由于某种原因 cap <env> deploy 给了我这个错误。当我在服务器上时,我也无法克隆 repo,我收到权限错误。如果我在服务器上 ssh-add 我的密钥,那么我可以克隆,但在本地运行 cap <env> deploy 会创建一个新连接,并且密钥不再在钥匙串中。我错过了什么?
*** LOCAL GEMS ***
capistrano (3.4.0)
deploy.rb 包含:
set :ssh_options, {
forward_agent: true,
auth_methods: %w[publickey],
keys: %w[~/.ssh/my_local_rsa]
}
错误:
上限中止!
SSHKit::Runner::ExecuteError: 以 deploy@server.com 执行时出现异常: git exit status: 128
git stdout: 什么都没写
git stderr:权限被拒绝(公钥)。
致命:无法从远程存储库读取。
【问题讨论】:
-
您可能需要在本地启动 ssh 代理并添加您的密钥,然后在该会话中运行 capistrano。
-
我需要写一个任务来做这个吗?如果是这样,为什么文档中没有?如果不是,那我每次部署时都必须这样做,这似乎有点奇怪。
标签: git capistrano3