我正在两台远程机器之间传输文件,命令scp
在 92% 处停止。当我重新尝试时,我意识到我无法再通过 ssh 进入服务器。但是,我可以通过服务器主机的 VNC 终端进行访问。
我尝试重新启动sshd
、执行systemctl reboot
以及从主机的 Web 面板关闭/重新启动服务器,但我仍然无法通过 SSH 进入服务器。我还检查过/var/log/auth.log
,它没有记录任何有关连接超时的信息。
我完全禁用了服务器防火墙(iptables),输出systemctl status sshd
显示它正在运行并监听端口 22。
输出iptables -L
:
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
我能够从我的机器顺利地 ssh 到其他服务器。我的 SSH 命令的输出如下-vvv
:
OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 47: Applying options for *
debug1: Connecting to <server-ip> port 22.
ssh: connect to host <server-ip> port 22: Operation timed out
此外,正如这里的其他一些相关问题所提到的,我手动在端口 42 上启动了 sshd/usr/sbin/sshd -p 42 -d
并尝试连接,但从我的本地机器连接仍然超时,并且没有输出记录到终端。
根据评论中的建议,我ssh user@localhost
从 VNC 终端内运行,并且成功了。因此,看起来 ssh 适用于 localhost,但没有其他用户可以从外部连接。这似乎是防火墙问题,但我已经打开了所有 iptables 规则。
更新: SSH 随机开始工作了大约 30 分钟,没有任何变化。我能够复制我需要的文件。然后,不久之后,连接冻结并断开连接,然后它又无法正常工作了。
答案1
看起来像是网络问题,Operation timed out
通常意味着ssh
无法建立连接。您使用哪种类型的托管?