Capistrano 3 SSHKit::Runner::ExecuteError: Excepti

2019-04-18 05:13发布

问题:

I'm getting the following error while deploying my rails app to an ubuntu server, I have correctly setup ssh keys and I can ssh to the server but I'm getting the following when I try to do

 cap production deploy

This is the error message

cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host xxxxxx.xxxxxxx.xxx: agent could not sign data with requested identity

I can't figure out what I am doing wrong since I had previously deployed and I just need to update my app to changes I have made. I have not changed my deploy.rb, Capfile or deploy/production.rb files since I last deployed

回答1:

I solved a similar issue by just issuing ssh-add. It seems that my current environment hasn't properly picked up the keys and readding them fixed the issue.



回答2:

I had the same error.

ssh-copy-id user@ipaddress

Helped me to solve this.



回答3:

I had the same issue but in my case I had to delete file .ssh/known_hosts from my local machine.



回答4:

After upgrading Rails from 4.1.x to 4.2, I started getting similar errors when trying to bundle. I fixed it by removing the shared bundle directory. Here's the steps I took:

  1. SHH into the server
  2. cd /my/app/shared/bundle/ruby
  3. rm -rf 2.1.0 or whatever "version" directory is there
  4. Re run the deploy cap production deploy

You may, at this point, hit a memory snag (I did while deploying to a DigitalOcean droplet). The fix for that is to create and enable a swap file on the droplet.