-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ed25519 Algorithm Compatibility #2094
Comments
Hi, I just opened an issue (capistrano/sshkit#495) and then found yours - could you elaborate on updating Net-SSH manually? I wonder if it is related to my situation and would like to give it a try. I installed Capistrano in RVM, does that make a difference? My apologies if these are rookie questions - I rarely work with Ruby but try to utilize Capistrano more. |
Capistrano uses net-ssh, and net-ssh has chosen not to include ed25519 support by default. To enable it, you have to install two additional gems, like this: gem "bcrypt_pbkdf", require: false
gem "ed25519", require: false If you don't do this, then net-ssh should helpfully print an error message when you try to connect using an ed25519 key:
Is this the "having to update net-ssh manually" that you mentioned? Since ed25519 is very common these days (as you pointed out), we could document this better in the Capistrano README, something I proposed in #1825. Would that be a good solution? |
Thank you! |
@mattbrictson It may also be good to give alternate instructions for users who aren't using gemfiles in projects, and aren't that well-versed in Ruby. Would something like this work? |
@charlieartist yes, that should work. |
I think I've encountered an issue related to this. My server has an
I can't figure out why this is happening, but my guess is that it has something to do with OpenSSH and ed25519 encryption 🤔 |
Capistrano actually uses the net-ssh gem for SSH, not OpenSSH. Can you run
If you still get a |
Thanks, yes it seems to be a net-ssh problem in that case 🤔 I've raised an issue there. |
I'm running into a simalar error. But it's not attempting to use the key. I being prompted for a password that is not accepted. bundle exec cap production deploy:check
/Users/antarr/.rbenv/versions/3.0.1/lib/ruby/3.0.0/digest.rb:6: warning: already initialized constant Digest::REQUIRE_MUTEX
/Users/antarr/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/digest-3.1.0/lib/digest.rb:20: warning: previous definition of REQUIRE_MUTEX was here
ubuntu@myserver.com's password:
ubuntu@myserver.com's password:(Backtrace restricted to imported tasks)
cap aborted!
Interrupt: set :ssh_options, {
forward_agent: true,
user: fetch(:user),
keepalive: true,
keys: %w(~/.ssh/id_rsa ~/.ssh/id_ed25519),
} |
Since more web servers are moving toward a higher level of security, and OpenSSH updates are recommending the Ed25519 Algorithm, would it be a good idea if Capistrano allowed its use by default, instead of having to update Net-SSH manually?
Even GitHub is recommending this algorithm.
The text was updated successfully, but these errors were encountered: