解决服务器SSH登陆不了的问题

对网站管理员来说,通过SSH通道,查看网站状态,备份、维护网站数据几乎是每天必作的工作。特别是对于远程的服务器来说,失去了SSH,几乎就失去了对服务器的拥有权。所以提前了解如何解决SSH登陆障碍的问题是十分心要的,免得真到访问不了的那一天不知所措。

首先要确定服务器是否有正确运行。如果Ping有返回结果的话,说明网站仍在启动状态。之后,可以尝试访问部署在服务器上的网站是否能正常访问,如果可以,再来分析一下为什么SSH无法登陆。

如果在ssh的客户端完全接不到任何相应(即连“login as:”也没有显示),则有可能是sshd服务进程没有正确运行。

无论是因为什么原因导致sshd进程sshd进程被终止了,或着一直没有启动。这个是最直接错误。对于本地服务器,直接登陆图形面,以root身份重启sshd进程即可。重启的命令为:

/etc/init.d/sshd restart

远程的服务器,可以在服务器提供商的管理界面直接重启整个服务器。

对于国外的服务器,这样若是依旧不能解决问题。则不访尝试一下从其它国外的服务器访问,如果访问正常,则有可能的原因是服务器的22端口在特定的地区因特定的原因被限制了。这种情况下,可以考虑更换IP,当然最简单的方法就是更改sshd服务器的监听端口,SSH的配制文件如下:

/etc/ssh/sshd_config

还有一种情况,如果自己不是管理员,然后发现自己在用户名和密码正确的情况下依然不能访问,则可能是服务器管理员限制了网站的SSH用户名密码的登陆方式。这时你需要向管理员索要一份私钥文件,保存为~/.ssh/id_dsa,ssh登陆时会自动读取(记得将id_dsa的权限必须是600,否则无法登陆)。putty用户,私钥的格式为.ppk,可以在Connection->SSH->Auth下载入。