尝试SSH时连接超时

有一天我试图通过SSH连接到我的远程服务器,因为我一直有。 但是现在当我尝试连接它大约60秒后才超时。 我跑

service ssh start 

这告诉我,作业已经运行:ssh。 我然后跑了

 $netstat -tnlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 1972/dovecot tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 1972/dovecot tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2030/mysqld tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 1972/dovecot tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1972/dovecot tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 2157/perl tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3028/sshd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2273/master tcp6 0 0 :::80 :::* LISTEN 2618/apache2 tcp6 0 0 :::21 :::* LISTEN 2291/proftpd: (acce tcp6 0 0 :::22 :::* LISTEN 3028/sshd 

我能够访问我的网站上的子域名和FTP,但是无法进行SSH甚至是远程Ping。 有什么想法吗?

一些想法:

  • 要在您的最后(而不是在服务器上)排除问题,请使用-v参数运行ssh以查看正在发生的事情。
  • telnet <server-ip> 22会告诉你你的连接是否到达服务器。 它应该像SSH-2.0-OpenSSH...一样回应。
  • 检查服务器的日志文件(例如/var/log/auth.log /var/log/secure )以获取与sshd相关的所有消息。 如果连接到达服务器,您应该看到远程IP地址的连接尝试。
  • 如果您的连接无法到达您的服务器的SSH端口,这可能有不同的原因:
    • 路由问题(在这种情况下,连接到其他端口也不应该经过)。
    • 外部防火墙阻止连接。
    • 本地防火墙(iptables)阻塞连接。 如果您安装了任何规则,请检查iptables -L
    • 如果您安装了denyhostsfail2ban ,那么您的IP可能被列入黑名单。 检查你的/etc/hosts.deny和相关的日志文件。