Capistrano 3 SSHKit :: Runner :: ExecuteError:在host [hostname]代理上执行时发生异常无法使用请求的身份对数据进行签名

时间:2014-06-16 13:01:41

标签: ruby-on-rails ssh capistrano capistrano3

我将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 文件

4 个答案:

答案 0 :(得分:14)

我通过发布ssh-add解决了类似的问题。我的当前环境似乎没有正确地拿起钥匙并且读取它们解决了这个问题。

答案 1 :(得分:2)

我遇到了同样的错误。

ssh-copy-id user@ipaddress

帮我解决了这个问题。

答案 2 :(得分:0)

我遇到了同样的问题,但就我而言,我必须从本地计算机中删除文件.ssh/known_hosts

答案 3 :(得分:0)

将Rails从4.1.x升级到4.2后,我在尝试捆绑时遇到了类似的错误。我通过删除共享包目录来修复它。这是我采取的步骤:

  1. SHH进入服务器
  2. cd /my/app/shared/bundle/ruby
  3. rm -rf 2.1.0或其他“版本”目录
  4. 重新运行部署cap production deploy
  5. 此时,您可能会遇到内存问题(我在部署到DigitalOcean Droplet时执行了此操作)。解决方法是在Droplet上创建并启用交换文件。