"Server refused public-key signature despite accepting key!"

April 9, 2016 5.4k views
Security Ubuntu

When I try to log in as root through PuTTY, I receive the above error. I try to login with my non-root admin user. Trying to access /var/log/auth.log gives me a "Permission denied" prompt.
I do not know what's happening or where to proceed.

5 comments
  • usually, i have found a couple of reasons that may break ssh connectivity using keys:

    • the permissions on the private key (usually ~/.ssh/id_rsa) on your laptop or desktop may be too open. It should be no more than maybe 600 chmod 600 ~/.ssh/id_rsa

    • also, it could also be that the public key on the server's ~/.ssh/authorized_keys file may have line breaks in the middle of the public where there shouldn't be any. In the "vi" editor, :set list should display the hidden line breaks.

  • @SphericalCow: My private key is on a file in my Windows computer. Should I change the permissions or other properties there first?

  • @richard147 You will definitely want to look at the permissions on the private key on your Windows computer. You should be able to modify these permissions with either Cygwin or Putty. Also, were you able to see if there are any unnecessary line breaks in your server's ~/.ssh/authorized_keys file?

  • in addition to @BrookDO comment, you may not be using the OpenSSH format; you may wish to take a look at here that has instructions for converting a key from Putty's PPK format to the OpenSSH format used by most Linux installs.

  • @BrookDO I logged in to my server using my non-root admin account (not sure why, I may have goofed while making the account and, perhaps to my advantage, I only login through a password). However while typing in the ~/.ssh/authorizedkeys command, I recieved a Permission denied prompt.

    @SphericalCow, I'll get back to you in a bit. It's going to take some time for me to read and understand the documentation for converting the key from a PPK to an OpenSSH format.

1 Answer

This question was answered by @SphericalCow:

usually, i have found a couple of reasons that may break ssh connectivity using keys:

  • the permissions on the private key (usually ~/.ssh/id_rsa) on your laptop or desktop may be too open. It should be no more than maybe 600 chmod 600 ~/.ssh/id_rsa

  • also, it could also be that the public key on the server's ~/.ssh/authorized_keys file may have line breaks in the middle of the public where there shouldn't be any. In the "vi" editor, :set list should display the hidden line breaks.

View the original comment

Have another answer? Share your knowledge.