Ubuntu 服务器不接受 SSH 连接

Ubuntu 服务器不接受 SSH 连接

我正在尝试使用 PuTTY 从我的 Windows 机器通过 SSH 连接到远程 Ubuntu 服务器。但是,我不断收到超时错误,找不到任何原因。

尝试从控制台进行连接将提供以下详细输出:

$ ssh -vvv <user>@<ip-address>
OpenSSH_7.5p1, OpenSSL 1.0.2k  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "<ip-address>" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to <ip-address> [<ip-address>] port 22.
debug1: connect to address <ip-address> port 22: Connection timed out
ssh: connect to host <ip-address> port 22: Connection timed out

其中是我的用户名,是服务器的地址。

我运行了一下/sbin/ifconfig -a,确认ip地址是正确的。

我可以使用我尝试 ssh 的用户名登录,这很好。

/etc/init.d/ssh status在服务器上返回以下内容:

* ssh.service - OpenBSD Secure Shell Server
   Loaded: loaded (/lib/systemd/system/ssh.server; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-09-06 BST; 21min ago
...

21 分钟前我重启了服务器,之前已经尝试重启 SSH 服务。连接仍然超时。

防火墙配置为接受端口 22 上的连接,因此我认为这里没有任何问题。

我在有权访问的控制台中实际能做的事情非常有限,但我不确定我还能检查或尝试什么。

编辑:

对 IP 进行 ping 操作后,我得到了以下信息:

$ ping <ip-address>

Pinging <ip-address> with 32 bytes of data:
Reply from <ip-address>: bytes=32 time=14ms TTL=54
Reply from <ip-address>: bytes=32 time=14ms TTL=54
Reply from <ip-address>: bytes=32 time=14ms TTL=54

Telnet 没有给出任何输出:

$ telnet <ip-address> 22
$

此外,现在它允许我使用 ssh(至少进行身份验证,但这是完全不同的问题)。不再有问题,尽管我仍然不知道最初是什么原因造成的

答案1

如果您可以使用 Ubuntu 机器访问主机,则应尝试下一步:

  1. 检查 ssh 守护进程是否确实正在运行:(sudo netstat -tnlp | grep ssh列出应用 SSH 守护进程过滤器的正在运行的进程)。
  2. 可选!检查 ssh 守护进程是否使用端口22用于远程连接cat /etc/ssh/sshd_config | grep Port。输出应为端口 22或任何其他数字。
  3. 检查防火墙设置:sudo iptables -nL。如果规则数量很大,请将输出重定向到主目录中的文本文件sudo iptables -nL > $HOME/iptables.txt
  4. 将 iptables 规则备份到您的主目录sudo iptables-save > $HOME/iptables.up.rules。删除所有 TEMPORARY 规则sudo iptables -F。(稍后您可以运行来恢复 iptables 规则sudo iptables-restore < $HOME/iptables.up.rules。)

现在您的 Ubuntu 机器可以接受任何流量,因此您应该能够通过 ssh 远程连接到它。

相关内容