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

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

我通过发出ssh-add解决了类似的问题。 似乎我当前的环境没有正确地拾取密钥并且读取它们解决了问题。

我有同样的错误。

 ssh-copy-id user@ipaddress 

帮我解决了这个问题。

我有同样的问题,但在我的情况下,我不得不从我的本地机器删除文件.ssh/known_hosts

将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

此时,您可能遇到内存障碍(我在部署到DigitalOcean Droplet时执行了此操作)。 解决方法是在Droplet上创建和启用交换文件。