我有一台 Linux 机器,当我在家里时,我可以通过笔记本电脑通过 SSH 访问它,但是当我使用其他 Internet 连接时,我无法连接。
我需要做什么?
我有 Verizon DSL 互联网和 ActionTec 调制解调器,如果这很重要的话。如果我遗漏了其他相关事实,请告诉我,我会改进我的问题。
答案1
你必须登录到你的调制解调器/路由器来转发你的 SSH 服务器正在监听的端口(通常22)。
从那里,在使用您的客户端时,确保您连接到您的外部 IP 地址(由您的 ISP 分配的 IP 地址),而不是由您的家庭网络中的路由器分配的内部 IP 地址。
有用的链接:
- 转发端口 -http://portforward.com/
- 查找您的 IP 地址 -http://www.whatismyip.com/
- 创建指向你的家庭 IP 的域名http://www.dyndns.com/
答案2
您需要将正确的端口从路由器转发到 Linux 机器。您可能知道,端口 22 是标准端口。
但是,一些 ISP(可能是您的,但我没有事实支持这一点)会阻止该端口。
因此,您有两个选择:
更改 SSH 守护程序使用的端口以监听不同且未阻塞的端口上的传入连接。
如果不可能,请将公共端口映射到路由器上的端口 22。
因此,<您选择的公共端口> 上的所有流量都会转发到 Linux 机器上的端口 22。这样做的好处是无需更改您的 Linux 机器,您只需在外出时指定新端口即可。
您的调制解调器可能将“端口转发”称为“防火墙”、“地址转换”或“虚拟服务器”或类似名称。
您可以使用 ShieldsUp! 功能吉布森研究中心执行 22 端口扫描,看看是否已打开。(当然,如果您使用的是其他公共端口,则需要扫描该端口)。
最后,正如其他人所建议的,我建议动态域名系统为您提供一个不变的名称来在互联网上寻址您的计算机。
答案3
这是一个非常简单的问题,但需要您在几个层面上解决它。首先,您需要确保 SSHD 在您的 Linux 机器上运行,以便 SSH 可用。
接下来,您需要配置路由器,将所有 SSH 流量转发到 Linux 计算机上的 SSH 端口。接下来,您需要设置动态域名系统为您的 Linux 机器提供一个可在互联网上解析的名称。
祝您狩猎愉快!