sshkey icon indicating copy to clipboard operation
sshkey copied to clipboard

Does not work with new algorithms, like ED25519

Open deemytch opened this issue 5 years ago • 2 comments

Looks like there may be better choice code.

k = SSHKey.new( File.read( 'spec/keys/ed25519' ) )
OpenSSL::PKey::DSAError: Neither PUB key nor PRIV key
from .bundle-gems/ruby/2.7.0/gems/sshkey-2.0.0/lib/sshkey.rb:250:in `initialize'
Caused by OpenSSL::PKey::RSAError: Neither PUB key nor PRIV key: nested asn1 error
from .bundle-gems/ruby/2.7.0/gems/sshkey-2.0.0/lib/sshkey.rb:247:in `initialize'

deemytch avatar Aug 10 '20 16:08 deemytch

Hey @bensie @mcclymont any thoughts about fleshing out ECDSA support?

k = SSHKey.generate(type: "ECDSA")
RuntimeError: Unknown key type: ECDSA

(also noting existing branches ec and ecdsabits and issue https://github.com/bensie/sshkey/issues/35)

rchekaluk avatar Nov 09 '20 11:11 rchekaluk

From my end, I faced the same error.

irb(main):001:0> require 'sshkey'
=> true
irb(main):002:0> f = File.read(File.expand_path("./openssh"))
=> "-----BEGIN OPENSSH PRIVATE KEY-----\nb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn\nNhAAAAAwEAAQAAAgE...
irb(main):003:0> k = SSHKey.new(f, comment: "[email protected]")
Traceback (most recent call last):
        9: from /Users/chaspy/.rbenv/versions/2.7.2/bin/irb:23:in `<main>'
        8: from /Users/chaspy/.rbenv/versions/2.7.2/bin/irb:23:in `load'
        7: from /Users/chaspy/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/irb-1.2.6/exe/irb:11:in `<top (required)>'
        6: from (irb):3
        5: from (irb):3:in `new'
        4: from /Users/chaspy/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sshkey-2.0.0/lib/sshkey.rb:246:in `initialize'
        3: from /Users/chaspy/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sshkey-2.0.0/lib/sshkey.rb:250:in `rescue in initialize'
        2: from /Users/chaspy/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sshkey-2.0.0/lib/sshkey.rb:250:in `new'
        1: from /Users/chaspy/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/sshkey-2.0.0/lib/sshkey.rb:250:in `initialize'
OpenSSL::PKey::DSAError (Neither PUB key nor PRIV key)

I generate the private key with the following:

ssh-keygen -t rsa -b 4096

Ruby Version I tried:

  • 3.0.0
  • 2.7.2
  • 2.6.5

chaspy avatar Feb 02 '21 19:02 chaspy