I'm using Linode, and I've asked around on the IRC channels, but no one seems to know. I've logged into my server via LISH (reference), and I used the correct password, and everything went fine. However, I need to login via SSH/FTP, and I can't. It keeps on giving me "permission denied". I know the password is correct because I reset it via LISH, and I know I've got the login method right because I've logged into my server before using the exact same commands. I sure hope this doesn't turn out to be some noob issue, or I'm going to be quite frustrated.
You need to run
ssh
(the client, and possibly the server) with more verbosity to understand why authentication is failing. For the client, runOn the server end, check the logs.
/var/log/auth.log
will give you a pretty good idea about what happens when you try to login, look for messages that containsshd
. There are a variety of reasons why authentication could be failing, ranging from simple (you aren't using the right username) to more complicated (sshd
is configured to use the wrong authentication system).in my case our IT department had setup PAM stuff with rules that broke my login. followed @pestilence 's reply to see error, ended up commenting out
AllowGroups
in/etc/ssh/sshd_config
, which was setup to some IT stuff:I had the same incident, I tried all solutions above and they didn't help, the final cause was because i tried to change my shell to fish using
chsh
.I had console access to the machine, so i made
tail -f /var/log/auth.log
, so i found the error message user is invalid because shell /bin/fish is not found.I was also unable to run chsh again because of the same login issue, so i made a symlink from /bin/fish to /bin/sh, and i was able to log in immediately.
Try using a different port. Seems that the SSH port the server was using was being used by another service, and I was getting some verrrrry wonky results.
In my case I edited /etc/shadow- with a text editor, as file manager was the only access I had. Even after I put the original hash string back somehow it didnt work. So after I reset a password with hosting panel all became working.
In my case, this 73rd line in sshd_config was the culprit. No where found this solution, just struck it with luck. Either comment it out (or make it 'yes'):
KbdInteractiveAuthentication no
Perhaps this prohibits keyboard interaction while logging into remote server.