我有一台台式电脑和一台笔记本电脑。两者都运行 Debian 9.5。两者都安装了openssh。
在我的桌面上,当我运行时ip a
,我将其视为输出的一部分:
enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
# Some other stuff
inet 192.168.0.11
在我的笔记本电脑上,当我运行时ssh [email protected]
,我会在一段时间后收到此错误:ssh: connect to host 192.168.0.11 port 22: Connection timed out
。
我的台式计算机通过以太网电缆连接到我的摩托罗拉路由器/调制解调器。在我的路由器/调制解调器页面的端口转发部分,我有这个规则。
我的笔记本电脑与台式机不在同一个网络上。使用我的笔记本电脑,我如何通过 SSH 远程连接到我的桌面?
用于桌面的地址类 192.168.0.11 是一个“私人”地址,无法从该网络外部访问。因此,如果您的笔记本电脑在此网络之外,则需要进行端口转发。
要从网络外部连接到您的桌面,您需要知道调制解调器的“外部”或 WAN/互联网 IP 地址,因为它是进行端口转发的那个。(只是转发端口,不能转发IP地址!)
该地址通常可以通过查看调制解调器/路由器的网页找到。但是,许多 ISP 会定期动态重新分配此 IP 地址,因此它可能不是固定地址。在这种情况下,问题更难解决!还有很多解决方案,但可能太复杂,无法在这里解释。