$ bundle exec cap production deploy
(回溯仅限于导入的任务)上限终止!SSHKit::Runner::ExecuteError: Exception,as Psara@sakura: git退出状态: 128 git stdout: Nothing书面git stderr:权限拒绝(公钥)。致命:远程终端意外挂起。 SSHKit::命令::Failed: git退出状态: 128 git stdout:Nothing书面git stderr:权限被拒绝(公钥)。致命:远程结束挂起了意外的任务: TOP => git:check (参见通过使用--跟踪运行任务来查看完整跟踪)部署失败了,出现了一个错误:异常,执行时为Psara@sakura: git退出状态: 128 git stdout: Nothing写的git stderr:权限被拒绝(publickey)。致命:远程终端意外挂起。
*
deploy.rb 套装:应用程序,“Psara” 设置:repo_url,‘git@bitBucket.org:cbLau上线/psara.git’ 设置:deploy_to,'/home/Psara/Psara‘ 设置:default_run_options,:pty => true 命名空间:deploy 重新启动后,:clear_cache对角色(:web),在::group中,限制: 3,等待: 10 do #在这里我们可以做任何事情,比如:# release_path中的do # execute :rake,‘cache:清除’# end结束 结束 设置:ssh_options,{ forward_agent:真,偏执:真,键:“~/..ssh/id_rsa”}
*
production.rb set :stage,:stage set :rails_env,:产生角色:app,%w{sakura}角色:web,%w{sakura}角色:db,%w{sakura}服务器'sakura',用户:'Psara',角色:%w{web app},my_property:>:my_value set :ssh_options,{key:%w(~/..ssh/id_rsa),forward_agent: false,}
我会很高兴的,如果你能教我如何解决这个问题。
我已经在bitbucket上添加了一个公钥,但是它不起作用.
*
代理转发报告
repo_url设置确定ssh-agent进程似乎正在本地运行ssh-agent进程被ssh-add命令识别ssh-agent中forward_agent对所有主机都好似乎SSH代理转发设置正确!您可以继续部署过程。
在所有的测试中都成功了,但是仍然会犯同样的错误.
发布于 2015-02-07 12:13:59
确保您的机器上运行了ssh代理,因为您使用ssh转发,您的本地密钥应该能够访问并从bitbucket克隆您的回购。您可以通过以下方式运行代理程序:
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa有关ssh转发的更多信息,您可以在这里找到。
您应该手动检查的另一件事是,您可以将ssh添加到服务器上(您的公钥应该添加到服务器上的~/.ssh/authorized_keys ),当然,您可以在本地克隆您的回购(这可能是您能够做到的)。
更新:
现在我意识到,您已经将转发转到生产中,在这种情况下,您应该确保服务器上的密钥对(您必须拥有它,因为转发被关闭)能够从bitbucket克隆回购,您也可以尝试手工在服务器上克隆。
发布于 2015-02-07 12:08:41
正如回溯所述,这很可能与ssh公钥有关。我建议您解决卡斯特拉诺--医生的问题。您将得到一份报告,准确地说明在设置中发生了什么错误。
声明,我是capistrano-ssh-doctor插件的作者。
https://stackoverflow.com/questions/28375506
复制相似问题