Originally Posted by avtandil_k
Hmmm. I see errors...
RX packets:431026 errors:0 dropped:0 overruns:0 frame:0
TX packets:2013 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:38396328 (38.3 MB) TX bytes:216439 (216.4 KB)
That all looks fine, 431026 packets, 0 errors, 0 dropped and 0 overruns.
where should I start troubleshooting? Authentication? Hardware?
How do you know whether it is the server or the client? You probably want to run a few checks to see if you can see which is causing the problem. First thing I would do (before even looking in the logs), is try ssh from the server to itself, using ssh localhost - if that has no problems, try another client PC (if available) to see if you have the same problems. Also which user are your trying to login as? Have you tried logging in locally (su'ing) as the same user - e.g. one thing that would give the symptoms you describe would be if the user's shell was set to '/bin/false' - such as the user 'mysql'.
I you determine that the problem lies with your server, then look in your logs, probably starting with /var/log/auth.log, typically you would expect to see something like the following for a successful session:
Apr 3 12:03:58 your server sshd: Accepted password for user from ::1 port 43340 ssh2
Apr 3 12:03:58 your server sshd: pam_unix(sshd:session): session opened for user user by (uid=0)
Apr 3 12:04:08 your server sshd: Received disconnect from ::1: 11: disconnected by user
Apr 3 12:04:08 your server sshd: pam_unix(sshd:session): session closed for user user
auth.log might be clearer if you grep it for sshd e.g. 'grep sshd /var/log/auth.log'
If the problem isn't with SSH, but is on your server, you probably want to review all relevant logs - if you aren't sure which files might be relevent, try 'ls -ltr /var/log' to see which log files have changed recently (they will be listed in order since last changed). Ignore wtmp and lastlog as they are binary files. You can also discount any file which has not changed in the last few minutes.