我目前遇到无法远程 ssh 进入我的机器的问题。我首先尝试从配置了 OpenSSH 的 Ubuntu 18.04 机器 ssh localhost,成功了。但是,当尝试通过本机的 IP 地址访问时,它会超时。我几乎尝试了所有我看到的建议。
我可以逐步介绍我已采取的步骤:
使用详细输出登录
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug2: resolving "73.162.76.69" port 22 debug2: ssh_connect_direct: needpriv 0 debug1: Connecting to 73.162.76.69 [73.162.76.69] port 22.
...
最终它会在大约 2 分钟(120)的时间内超时——这是由配置指定的。
检查 sshd 是否处于活动状态:
ps -A | grep sshd 9069 ? 00:00:00 sshd 9074 ? 00:00:00 sshd 9114 ? 00:00:00 sshd 9115 ? 00:00:00 sshd
检查防火墙策略是否允许连接:
sudo ufw status Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)
我也尝试过 iptables,但不太清楚如何解释它。我关闭电源、清除并重新安装了 ssh 服务器。
我还重新启动了路由器以确保问题不是出在这儿——但无济于事。
我还能尝试其他方法来解决这个问题吗?
我的最后一个选择是重新安装 Ubuntu...这台机器上没有太多东西,但恢复我需要的一切确实需要时间。
答案1
如果发生超时,则应该是防火墙规则有问题。
通过 iptables 允许它进行快速测试:
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
如果不起作用,请尝试允许输出:
iptables -I OUTPUT -p tcp --sport 22 -j ACCEPT