无法通过 ssh 连接到远程服务器

无法通过 ssh 连接到远程服务器

一个月前我可以通过 ssh 连接到远程服务器,但一周后就不行了。目前我可以从本地访问服务器,当我尝试连接到 localhost 以测试它是否有效时,我可以连接。 ssh 用户名@localhost

在当地是没问题的。

但从远程机器来看:

ssh 用户名@服务器的 ip 地址

我收到此消息:

ssh:连接到主机ip-address-of-server端口 22:连接超时

该服务器上也运行着一个网页,当然是在端口 80 上。该网页可以正常运行。

注意:我可以 ping 服务器,数据包丢失率为 0%,因此我收到了所有传输的数据包。

我已经尝试在服务器上重新启动 ssh,但仍然不起作用。只能在本地主机上进行,而不能在远程进行。

我从不同的远程机器上尝试过,但没有成功。

那么,为什么我之前可以连接,现在却不能?这是什么问题?

I asked this already on [stackoverflow.com][1], but now it's put on hold as off-topic there.

答案1

尝试通过 ssh 连接时,在远程服务器上执行以下操作:

tail -f /var/log/auth.log

是否有任何错误日志?如果您无法看到尝试登录时产生的任何日志,则这可能是网络问题(防火墙、交换机 acl 等)。

答案2

正如您描述的场景,您想要执行“内部访问”和“外部访问”。就您而言,我理解内部访问是从主机到位于同一 IP 子网上的 SSH 服务器进行的。另一方面,您提到“远程访问”,我想您指的是从位于另一个 IP 子网上的主机访问 SSH 服务器(外部访问)。执行最新操作的唯一方法是通过路由器,除此之外,路由器还应该能够执行一项非常基本的功能,称为端口转发。话虽如此,由于某种原因,您的路由器失去了端口转发功能。有两种可能性:重新启动路由器,因为它变得“有缺陷”,或者修改路由器上的端口转发配置,将外部调用从路由器的 SSH 端口转发到内部 SSH 服务器的 SSH 端口。请注意,可能还存在许多其他因素,但描述没有提供足够的信息来进一步支持这种情况。无论哪种情况,故障排除工作都应放在路由器上,分析路由器是否在外部接口上接收 SSH 调用/命中,如果是,则分析路由器为何不将 SSH 流量转发到内部 SSH 服务器。如果您过去得到的解决方案是“按魔法”工作,而无需“做任何事情”,请检查路由器和服务器上的 UPnP 激活/功能。

相关内容