Question

Filezilla sftp Error: Disconnected: No supported authentication methods available (server sent: publickey)

Posted November 7, 2019 9.7k views
DigitalOceanDigitalOcean Accounts

Filezilla sftp Error: Disconnected: No supported authentication methods available (server sent: publickey) why not connect the server

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
4 answers

Hi @pacificsofttechltd,

The error means that FileZilla tried all available authentication methods and have not succeeded. In your case, there was only public key authentication method available

Here, you have two options, one would be to enable password authentication and the other would be to add your ssh key to your FileZilla application.

Add SSH Key to FileZilla

Open your FileZilla, go to Edit->Settings->SFTP and there click on Add key file. From there go to your SSH key and add it.

Enable Password Authentication

SSH to your droplet

ssh root@DropletIp

and edit your /etc/ssh/sshd_config. In there search for the following line PasswordAuthentication. By default it’s commented and set to No

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication no

To enable it change it like so

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication Yes

Save the file and exit. For the configuration to be loaded, you’ll need to restart sshd

service sshd restart

That’s it, you are ready to go

Regards,
KDSys

  • Hi KDSys/KFSys,

    Would you mind expanding on this advice? It seems like enabling clear text passwords isn’t the best idea. Is there something that has changed with FZ protocol? I’m experiencing the same issue, using the same settings I’ve always used. Is there a way to connect without enabling the clear text passwords?

    Best,
    John

    • Hi @chivingtoninc

      Yes, it is true, using PasswordAuthentication is potentially a security risk. Having said that, there is another option, you can use an SSH key.

      You’ll need to have an SSH key first and then you can add it. To do so, open your FileZilla, go to Edit->Settings->SFTP and there click on Add key file. From there go to your SSH key and add it.

Yep, I think that’s what they are asking about. The keyfiles suddenly do not work. Not sure if it’s a new protocol in FZ or DO but using an ssh key no longer works for me. It does not connect to the server. I’ll reply if I find a fix.

I decided to find a tutorial from a site I frequently check, https://www.linuxbabe.com/redhat/generate-centos-ssh-public-key

I usually use DO to add my ssh key or just copy/paste it into my authorized_keys file myself. I tried using the ssh-copy-id command she recommends though, and that seems to make everything play nice. Pubkey with ssh and FZ now works again.

Let me know if you have any questions.

Best,
John

Hello,

You can re-try copying the key via ssh. You can also use the ssh-copy-id command in order to do so. An example will be:

  • ssh-copy-id -i ~/.ssh/mykey user@host

If currently, you can not connect using ssh-key and the PasswordAuthentication is disabled you can follow the steps below:

You can enable PasswordAuthentication for your Droplet by modifying your /etc/ssh/sshd_config file. Once set to Yes restart the SSH service and connect via an SSH client for a more stable connection. You can then modify your ~/.ssh/authorized_keys file to add the appropriate public key.

This change can be made from DigitalOcean’s console. If you’re having issues accessing the console you can then reach to our amazing support team that can help you further with this.

To enable the PasswordAuthentication follow these steps:

  1. Login to the console on the DigitalOcean website.
  2. Type sudo nano /etc/ssh/sshd_config
  3. Change PasswordAuthentication from “no” to “yes” and save the file
  4. Open a terminal on your computer and type ssh username@[hostname or IP address] or if on a Windows box use PuTTY for password login making sure authentication parameters aren’t pointing to a private key
  5. Login with a password
  6. Type sudo nano ~/.ssh/authorized_keys
  7. Paste public key text here and save the file
  8. Type sudo nano /etc/ssh/sshd_config
  9. Change PasswordAuthentication from “yes” to “no” and save the file
  10. Log out and attempt to log back in (if using PuTTY make sure you set up auth parameters to point to your private key)

You can then upload the key using this command:

  • ssh-copy-id -i ~/.ssh/mykey user@droplet

Hope that this helps!
Regards,
Alex