29
votes

So, i've been having this problem for a while now.

Notepad++ NppFTP plugin fails to connect to server via SFTP with "[SFTP] Error during authentication: Invalid private key file". But the key file is 100% correct and i'm connecting fine with WinSCP.

Any solutions?

6
Are npp and winscp using the same private key file? - Sergio Tulentsev
I'm having the same issue. I'm thinking of trying to maybe converting it to a *.ppk file? - Roy Rico
If all else fails and you've regenerated keys and whatnot and you still can't connect, try simply deleting that profile within NPP and re-creating it using whatever key is currently valid. Sometimes the profiles do get corrupted and make it seem like a server-side or key issue. - Ivan
fwiw I generally SSH with an ecdsa key but NppFTP only seems to work with an rsa key. - Auspex

6 Answers

89
votes

The solution for me was to use puttygen to export a .ppk version of my private key to OpenSSH as follows:

  1. Open PuttyGen
  2. Menu: Conversion -> Export OpenSSH key
  3. Save your new key (don't forget to make it clear it is openssh)

This was weird seeing as my .ppk was converted from a private key generated by OpenSSH itself.

I think it has to do with the fact that my original key starts with

---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----

whereas the exported key starts with

-----BEGIN RSA PRIVATE KEY-----
6
votes

Log-in to your terminal. Make sure you are in /home/your_user_name/

First client private/public key

$ ssh-keygen -t rsa

  1. Press Enter to choose default directory
  2. You may choose a pass phrase here depending upon situation.

Now add your public rsa key details to authorized keys, use the following command

$ cat id_rsa.pub >> ~/.ssh/authorized_keys

$ chmod 600 ~/.ssh/authorized_keys

After this delete the id_rsa.pub file if you wish.

Now the private key file id_rsa is the one you need to 'import'.

You need the tool called the puttygen to import this file and then
click on the Menu Bar -> Conversions -> Export OpenSSH Key and save the exported file.

Save it as npp.ppk (maybe) and then use this in the Notepad++ Private key file path.

2
votes

Open output connect (engine icon on the NppFTP) to see why you dont connect.

Probably the problem could be the authentication method you use. Try "keyboard interactive authentication" on the tab Authentication.

1
votes

Go to C:\Users\[User Name]\AppData\Roaming\Notepad++\plugins\config\NppFTP

and delete the entry of the host in that file and try re-connecting.

1
votes

When using Notepadd ++ I found that if your logging into a secure server with NppFTP and you know your user name and password but your getting [SFTP]Unable to authenticate error: Try going to toolbar -> Profile settings -> Authentication and only check the box that says try password authentication. The default is private file but, that doesn't all ways apply.
-Hope that helps-

0
votes

I was able to correct this error by extending the Timeout for the connection.

Profile settings > Profile > Connection > Timeout (seconds)