snowflake icon indicating copy to clipboard operation
snowflake copied to clipboard

Unable to connect to server using openssh private key

Open yan0s opened this issue 4 years ago • 9 comments

I cannot connect using my private key:

snowflake.desktop[1513]: com.jcraft.jsch.JSchException: invalid privatekey: [B@3ae6f693
snowflake.desktop[1513]:         at com.jcraft.jsch.KeyPair.load(KeyPair.java:948)
snowflake.desktop[1513]:         at com.jcraft.jsch.KeyPair.load(KeyPair.java:561)
snowflake.desktop[1513]:         at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:40)
snowflake.desktop[1513]:         at com.jcraft.jsch.JSch.addIdentity(JSch.java:407)
snowflake.desktop[1513]:         at com.jcraft.jsch.JSch.addIdentity(JSch.java:367)
snowflake.desktop[1513]:         at snowflake.common.ssh.SshClient.connect(SshClient.java:62)
snowflake.desktop[1513]:         at snowflake.common.ssh.files.SshFileSystem.connect(SshFileSystem.java:75)
snowflake.desktop[1513]:         at snowflake.components.files.FileComponentHolder.getSshFileSystem(FileComponentHolder.java:306)
snowflake.desktop[1513]:         at snowflake.components.files.browser.ssh.SshFileBrowserView.lambda$render$1(SshFileBrowserView.java:163)
snowflake.desktop[1513]:         at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
snowflake.desktop[1513]:         at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
snowflake.desktop[1513]:         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
snowflake.desktop[1513]:         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
snowflake.desktop[1513]:         at java.base/java.lang.Thread.run(Unknown Source)

It's related to this post: https://stackoverflow.com/questions/53134212/invalid-privatekey-when-using-jsch

yan0s avatar Jan 31 '20 15:01 yan0s

I can confirm that this is happening to me too. Selected my key under ~/.ssh/id_rsa

Exception caught in sftp file browser
com.jcraft.jsch.JSchException: invalid privatekey: [B@38c2c34d
	at com.jcraft.jsch.KeyPair.load(KeyPair.java:747)
	at com.jcraft.jsch.KeyPair.load(KeyPair.java:561)
	at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:40)
	at com.jcraft.jsch.JSch.addIdentity(JSch.java:407)
	at com.jcraft.jsch.JSch.addIdentity(JSch.java:367)
	at snowflake.common.ssh.SshClient.connect(SshClient.java:62)
	at snowflake.common.ssh.files.SshFileSystem.connect(SshFileSystem.java:75)
	at snowflake.common.ssh.files.SshFileSystem.ensureConnected(SshFileSystem.java:39)
	at snowflake.common.ssh.files.SshFileSystem.getHome(SshFileSystem.java:202)
	at snowflake.components.files.browser.ssh.SshFileBrowserView.lambda$render$1(SshFileBrowserView.java:163)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

i5o avatar Jan 31 '20 16:01 i5o

Thanks for reporting, will look into it

subhra74 avatar Jan 31 '20 17:01 subhra74

I've had the same problems today with some of the servers I manage. I tested on one of my servers by changing to a different key from another server that worked and the problem resolved - the difference between the two keys being the length of the key. Perhaps a clue into the source of the problem?

robertpartridge avatar Feb 01 '20 08:02 robertpartridge

Related issue dbeaver/dbeaver#5845, consider using/supporting SSHJ.

Shivelight avatar Feb 07 '20 03:02 Shivelight

Temporary solution:

private key generated by ssh-keygen starts with

-----BEGIN OPENSSH PRIVATE KEY----- and not -----BEGIN RSA PRIVATE KEY-----

To generate supported key add -m PEM to the end of your ssh-keygen command

e.g.

ssh-keygen -m PEM

This works with version 1.0.4

ivan-cc avatar Feb 09 '20 19:02 ivan-cc

Can confirm this is still an issue to date. Existing OpenSSH private keys can be converted to RSA format using the following terminal command where id_rsa is the OpenSSH private key:

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

Recommend you back-up id_rsa before running the command as the file will be overwritten when converted. Remember to chmod 600 id_rsa or it will be ignored.

OpenSSH seems to be the new standard private key format. Any comment on when/if Snowflake will add support?

Thank you for this program.

kdubdev avatar Oct 23 '20 04:10 kdubdev

Using Snowflakes for connecting to AWS EC2 unable to connect through .pem files for the new EC2 instances ( through Putty/WINSCP i can login to EC2 with same key). But can connect to Older EC2s with Snowflake with their .PEM files. Please help.

pm25264 avatar Jul 10 '23 05:07 pm25264

facing the same issue while I am trying to access the new aws instance, i 'm geting an error - Unable to connect to server.

Please look into this.

AltiusTech avatar Jul 12 '23 04:07 AltiusTech

Holy molly, same issue still persists.

MindaugasBernatavicius avatar Sep 26 '23 10:09 MindaugasBernatavicius