我正在运行 ubuntu server 20.04,突然出现操作超时的情况。我想知道如何解决该问题。
我正在使用 ufw,并且连接端口是打开的。因此当我使用时sudo ufw status
,它显示该端口可访问。
当我运行时,systemctl status sshd
我发现该进程处于活动状态,并且 sshd 正在监听 0.0.0.0 端口 xx 和 :: 端口 xx
我可以使用我的用户登录到计算机,因此凭证在这里不是问题。我还可以从另一台计算机 ping 服务器,并且 ping 工作正常。
编辑:我能够连接到内联网上的服务器,但不能从外部连接。有没有办法阻止互联网上的 ssh 而不阻止内联网上的 ssh?
答案1
端口设置
查看维基百科关于端口转发进一步了解您为何需要它。
ssh
默认使用端口 22。我假设您没有更改该端口。如果您更改了该端口,则需要在下面的说明中进行相应的更改。
路由器设置
确保端口 22 已转发到家庭路由器中的 Ubuntu 服务器的内部 IP 地址。这将允许家庭 LAN 之外的任何人使用 ssh 连接到家庭计算机。
这些说明是针对路由器的,超出了本答案的范围,因为它与 Ubuntu 无关。
有些路由器允许指定传入端口(来自互联网)以及传出端口(到 Ubuntu 服务器的 LAN 的内部 IP 地址)。在这种情况下,当您从外部连接时,您可能需要使用不同的端口,例如 2200,并相应地设置您的路由器:
上图仅为示例。您的路由器中的设置可能有所不同。
如果您更改了默认端口,/etc/ssh/sshd_config
则需要将上面的内部端口设置为该端口,而不是端口 22。
要了解如何ssh
在家庭局域网内设置工作,请参阅在家庭局域网中使用 SSH 连接两台计算机
这是另一个端口转发:如何指导以供参考。
希望这可以帮助