Komodo / KomodoEdit

Komodo Edit is a fast and free multi-language code editor. Written in JS, Python, C++ and based on the Mozilla platform.
http://www.komodoide.com/komodo-edit
Other
2.15k stars 300 forks source link

ECDSA support #1530

Open defkev opened 8 years ago

defkev commented 8 years ago

Short Summary

Remote Files lags support for ECDSA keys of any length (256, 384 an 521 bit elliptic curves) in OpenSSH (both new and old) format.

Attempting to use a ECDSA key will result in a:

Error: 'Private key authentication error.
Key file: 'P:\ath\to\key'
Reason: Unrecognized private key format

error trying to connect to the defined server.

Steps to Reproduce

Add new Server: Preferences -> Servers -> + Fill out the form: Server type SFTP and select your ECDSA key under 'Specify an OpenSSH key file for authentication' Try to connect to the server: Open Remote Directory...

Expected results

Komodo should prompt me for the Passphrase, just like it does for RSA and DSA keys.

Actual results

Error message stating the private key format is unrecognized.

Platform Information

Komodo Edit or IDE? IDE Komodo Version? 10 (build 89159) Operating System (and version)? Windows 10 (1511)

Additional Information

komodo_ecdsa

th3coop commented 8 years ago

@defkev did this work in 9 by any chance? I had to update our ssh handler under the hood for 10.

defkev commented 8 years ago

Komodo IDE 9.3.2 (build 88191) Same error:

komodo9_ecdsa

th3coop commented 8 years ago

Thank you.

dch commented 8 years ago

@cgchoffman please consider adding ed25519 key support at the same time. I assume this is blocked by the lack of support for these 2 key types in paramiko itself..... This isn't limited to windows.

@defkev FWIW I have succeeded to work around this on *NIX by:

  1. setting up ssh-agent
  2. having shared connections set up to use a ControlMaster (see https://www.freebsd.org/cgi/man.cgi?apropos=0&sektion=0&manpath=FreeBSD+10.0-stable&arch=default&format=html&query=ssh_config ) for info
  3. having an active ssh session to the same server already open in a separate terminal so the control master is already available
  4. starting Komodo from within a terminal that has access (via keychain, or ssh-agent or similar) to inherit the correct environment variables for ssh to pick up the controlmaster settings
  5. providing minimal options to ssh dialog box in Komodo

Then it "just worked". I suspect this can be done on windows using similar tricks. I hope it helps!