我有两台 Ubuntu 机器。两台机器上都安装了 openssh-client 和 openssh-server。从机器 G(全新安装的 Ubuntu 11.10)到机器 K 的 ssh 连接运行良好。但从机器 K 到机器 G 的 ssh 连接总是会出现错误:
连接到主机 some_hostname 端口 22:连接超时
我经历了help.ubuntu.com 的故障排除部分我得到了以下结果:
ps -A | grep sshd # results in
848 ? 00:00:00 sshd
-
sudo ss -lnp | grep sshd # results in
0 128 :::22 :::* users:(("sshd",848,4))
0 128 *:22 *:* users:(("sshd",848,3))
-
ssh -v localhost # works!
-
sudo ufw status verbose # yields: "Status: inactive"
我没有更改配置文件中的任何内容。我该怎么做才能找到问题并解决它?如果能提供任何提示,我将不胜感激!
编辑:
ping
两个方向都取得了成功!
我telnet <machineK> 22
从机器 G 执行了尝试,然后进入 telnet:
无法连接到远程主机:连接超时。
但反过来 telnet 却工作正常!
编辑2:
ssh start/running, process 966 # yields: ssh start/running, process 966
/etc/hostname # contains my hostname, let's call it blubb
/etc/hosts # contains the following
127.0.0.1 localhost
# 127.0.1.1 blubb
129.26.68.74 blubb # I added this!
-
sudo service ufw status # yields: ufw start/running
我安装了Gufw
它并将其设置为。然后我从选项ON
中选择。然后我通过 ssh 连接到另一台机器,然后从那里通过 ssh 回到我的机器。仍然出现与上述相同的错误:Incoming
ALLOW
connect to host blubb port 22: Connection timed out
还有其他提示吗?我可以检查什么?
答案1
因此,您的 machineG (全新安装)存在问题:
- 检查 sshd 是否已启动
sudo service ssh status
。 - 检查名称解析。检查您的机器名称是否在
/etc/hostname
、 和上相同/etc/hosts
。 - 检查防火墙。
sudo service ufw status
如果安装了 ubuntu 的防火墙也许最好Gufw
。
你好!你解决了吗?@philipballew 要求你查看是否启用了端口 22。在两台机器上执行此操作netstat -nat | grep 22
:你会看到类似以下内容:
~> netstat -nat | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 10.202.10.13:53414 173.194.76.125:5222 ESTABLISHED
tcp 0 0 10.202.10.13:50912 10.100.202.21:22 TIME_WAIT
tcp 0 0 :::22 :::* LISTEN
如果 22 号端口之一未监听,则重新检查我之前告诉您的所有内容。实际上,我对机器的名称有点困惑。您总是用不同的名字称呼它们......
答案2
同样的问题。我用 清除了我的 iptables iptables -F
。现在运行正常。当然,如果你想再次启用 iptables,你必须重新设置规则