Capistrano SSH::AuthenticationFailed, not prompting for password
Solution 1
Figured it out! Apparently this issue was with net-ssh
gem. I had version 2.8.0 installed recently with some updates to my development environment and was the cause.
I'm not sure why it was failing, but gem uninstall net-ssh -v 2.8.0<
fixed it for me.
If anyone actually knows why this was an issue or how I can correct this issue with the newer version of net-ssh
I'd be interested to hear it.
Solution 2
The answer may break your rails app due to gem dependancies.
The issue is with net-ssh as was correctly answered by Sparkmasterflex, however whilst this will get capistrano working ok it may break your rails app:
These steps fixed both capistrano and rails for me ...
- In your Gemfile add
gem 'net-ssh', '2.7.0'
- Run
bundle update net-ssh
- Run
bundle
(just to be sure everything is working ok' - Run
gem uninstall net-ssh -v 2.8.0
If you are a rails user you should now be able to run both the rails server and capistrano.
Solution 3
I have a workaround that doesn't require downgrading net-ssh
, per a comment at the link that Zach Lipton posted. Place this code in config/deploy.rb
:
set :ssh_options, {
config: false
#Other options...
}
After I did that, I got another error, Error reading response length from authentication socket.
Found the solution to that here. Execute these commands at your Bash prompt:
$ eval $(ssh-agent)
$ ssh-add
Solution 4
Upgrading your net-ssh version to 2.8.1 will solve the problem. They released a version bump in 19th february 2014 that fix this and other problems.
- Uninstall your current net-ssh gem (gem install net-ssh -v 'version')
-
Just paste this on your Gemfile:
gem 'net-ssh', '~> 2.8.1', :git => "https://github.com/net-ssh/net-ssh"
Run bundle install
Solution 5
I had the same problem while deploying using capistrano Net::SSH::AuthenticationFailed: Authentication failed for user deployer@IP
ssh-copy-id deployer@ip
This will add your keys to server and you can login without password.
Sparkmasterflex
Updated on July 09, 2022Comments
-
Sparkmasterflex almost 2 years
I've been using capistrano successfully for a while now and all of a sudden in every project I've lost the ability to deploy.
Environment:
- os X (Mavericks)
- ruby 1.9.3p194
- rvm (locally, not on server)
- rails 3.2 and up
- RubyGems 1.8.25
I'm not using rsa_keys or anything I want capistrano to prompt for user and password. Suddenly it has decided not to ask for a password, but does ask for user. Then it rolls back and gives me the following error.
[deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: sub.example.com (Net::SSH::AuthenticationFailed: Authentication failed for user [email protected]) connection failed for: sub.example.com (Net::SSH::AuthenticationFailed: Authentication failed for user [email protected])
This has occurred on my personal laptop and my iMac at work. It occurs when deploying to two different servers (both linux)
I'm completely at a loss here. Any ideas?
-
Momer about 10 yearsAnyone else who runs into this should be aware that locking net-ssh at 2.7.0 and net-ssh-gateway at 1.2.0 worked for me.
-
ZhukV about 10 yearsAfter remove, i have a error: Could not find 'net-ssh' (>= 2.0.14) among 14 total gem(s) (Gem::LoadError)
-
aruanoc about 10 yearsAfter you uninstall net-ssh 2.8.0, make sure you have another version installed to satisfy other gems dependencies, like 2.7.0
-
jcroll about 10 yearsSo for instance run
gem install net-ssh -v 2.7
-
Fabian Winkler about 10 yearsI added
gem 'net-ssh', '~>2.7.0'
next togem 'capistrano', '~>2.15.5'
in my Gemfile and ranbundle update
afterwards. -
Giacomo1968 about 10 yearsYour gut instinct to uninstall Net-SSH version 2.8.0 is good. But the problem is if there isn’t another lower-number version to use, things will break. Such a scenario can come form someone who just installed Net-SSH recently without any other version present. The best version to solve this issue is Net-SSH version 2.7.0 and that should be installed after version 2.8.0 is uninstalled. Now when is 2.8.1 going live already to fix this?
-
kaizenCoder about 10 yearsWhere is the
Gemfile
located on a Mac? -
Sparkmasterflex about 10 yearsYour Gemfile is located in the root of your Rails App. If you're using Capistrano outside of a rails app then you'll just need to handle this w/o bundler gem uninstall ...
-
Danny almost 10 yearson mac osx, you may need to first
brew install ssh-copy-id
-
Kleber S. almost 10 yearsThis way is so much easier. Always use this technic. :)
-
aqingsao over 9 yearsI followed the steps and it printed "Using net-ssh 2.7.0", but I still got error: ruby-2.1.2/lib/ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'net-ssh' (>= 2.8.0) - did find: [net-ssh-2.7.0] (Gem::LoadError)
-
juanitogan over 9 yearsThis is not relevant to the question. Believe it or not, active password protection is a requirement in some organizations.
-
juanitogan over 9 yearsYet, it was net-ssh-2.9.1 that broke this for me. So, if they fixed it in 2.8.1, they broke it again. Reverting to an older version fixed it.
-
Omn over 9 yearsThis is still a problem through net-ssh 2.9.1 butnet-ssh 2.9.2 (when it is released) does prompt for password again. It doesn't however, use capistrano's :password parameter. That still only works in 2.7
-
Peter about 9 yearsthis fixed the issue for me
-
avjaarsveld about 4 yearsJust running
ssh-add
and trying again worked for me. Thanks