我将rails应用程序部署到ubuntu服务器时出现以下错误,我已正确设置ssh密钥,我可以ssh到服务器但是当我尝试时我得到以下内容
cap production deploy
这是错误消息
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host xxxxxx.xxxxxxx.xxx: agent could not sign data with requested identity
我无法弄清楚自从我之前部署以来我做错了什么,我只需要更新我的应用程序以进行更改。自从我上次部署以来,我没有更改 deploy.rb,Capfile或deploy / production.rb 文件
答案 0 :(得分:14)
我通过发布ssh-add
解决了类似的问题。我的当前环境似乎没有正确地拿起钥匙并且读取它们解决了这个问题。
答案 1 :(得分:2)
我遇到了同样的错误。
ssh-copy-id user@ipaddress
帮我解决了这个问题。
答案 2 :(得分:0)
我遇到了同样的问题,但就我而言,我必须从本地计算机中删除文件.ssh/known_hosts
。
答案 3 :(得分:0)
将Rails从4.1.x升级到4.2后,我在尝试捆绑时遇到了类似的错误。我通过删除共享包目录来修复它。这是我采取的步骤:
cd /my/app/shared/bundle/ruby
rm -rf 2.1.0
或其他“版本”目录cap production deploy
此时,您可能会遇到内存问题(我在部署到DigitalOcean Droplet时执行了此操作)。解决方法是在Droplet上创建并启用交换文件。