mkloubert / vscode-remote-workspace

Multi protocol support for handling remote files like local ones in Visual Studio Code.
https://marketplace.visualstudio.com/items?itemName=mkloubert.vscode-remote-workspace
GNU Lesser General Public License v3.0
208 stars 37 forks source link

More algorithms for SFTP #94

Open garysferrao opened 5 years ago

garysferrao commented 5 years ago

https://github.com/mkloubert/vscode-remote-workspace/blob/f7fab5b2fdab0538e33e2e56ca184acf058dcca7/src/fs/sftp.ts#L451

I know that DSS is deprecated from the default list of algorithms for SSH. But because legacy, and support for more options, (and that it's easier to fix here than go through bureaucracy,) can we add support to specify algorithms in the connect options?

Here is my DEBUG log:

INFO sftp://localhost.dev:22 - [10/Jan/2019:HH:MM:SS +0000] "DEBUG: Comparing KEXINITs ..."
INFO sftp://localhost.dev:22 - [10/Jan/2019:HH:MM:SS +0000] "DEBUG: (local) KEX algorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1"
INFO sftp://localhost.dev:22 - [10/Jan/2019:HH:MM:SS +0000] "DEBUG: (remote) KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1"
INFO sftp://localhost.dev:22 - [10/Jan/2019:HH:MM:SS +0000] "DEBUG: KEX algorithm: ecdh-sha2-nistp256"
INFO sftp://localhost.dev:22 - [10/Jan/2019:HH:MM:SS +0000] "DEBUG: (local) Host key formats: ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521"
INFO sftp://localhost.dev:22 - [10/Jan/2019:HH:MM:SS +0000] "DEBUG: (remote) Host key formats: ssh-dss"
INFO sftp://localhost.dev:22 - [10/Jan/2019:HH:MM:SS +0000] "DEBUG: No matching host key format"
INFO sftp://localhost.dev:22 - [10/Jan/2019:HH:MM:SS +0000] "DEBUG: Outgoing: Writing DISCONNECT (KEY_EXCHANGE_FAILED)"