SSH:网络无法访问(由路由器引起)

SSH:网络无法访问(由路由器引起)

我在中搜索了解决方案谷歌三天后,我决定写在这里。我有路由器,所以我家有无线局域网。我在家时使用笔记本电脑。在另一个城市,我的办公室有第二台计算机(PC)。我可以使用 SSH 协议连接这台 PC。不幸的是,我无法从 PC 连接我的笔记本电脑。当我尝试这样做时,我看到以下语句:

ssh: connect to host XX.XX.XX.XX port 22: Network is unreachable

守护进程 SSHD 正在我的笔记本电脑上运行。有趣的是,几个月前这个连接工作正常,但我重新安装了 SSHD,现在出现了问题。

/sbin/路线显示:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.9.1     0.0.0.0         UG    0      0        0 wlan0
192.168.9.0     *               255.255.255.0   U     2      0        0 wlan0

/sbin/ifconfig印刷:

eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:47 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:169 errors:0 dropped:0 overruns:0 frame:0
          TX packets:169 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:13189 (12.8 Kb)  TX bytes:13189 (12.8 Kb)

wlan0     Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet addr:192.168.9.107  Bcast:192.168.9.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:76455 errors:0 dropped:0 overruns:0 frame:0
          TX packets:82766 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:53583517 (51.1 Mb)  TX bytes:13182981 (12.5 Mb)

我想,问题与网关的设置有关,但我在这个主题(计算机网络)方面是外行。这个建议是基于我的谷歌调查。

答案1

由于您没有提供更多信息,我将详细说明我的评论至于我认为这里发生的事情。

作为序言,请原谅我假设你犯了这个错误,我只是继续你所说的:

我对这个学科(计算机网络)是门外汉。”

我相信您正在尝试使用您的家用计算机私有IP地址当尝试从工作中通过 SSH 连接到它时。这将产生以下两种行为之一,具体取决于您家庭和工作场所的网络配置:

  1. 您的家庭和办公室网络使用相同的私有 IP 地址空间,在这种情况下,您将尝试连接到办公室的一台机器,该机器恰好与您的家庭计算机具有相同的私有 IP 1或(更有可能),您不会在办公室网络上找到这样的计算机,并且会收到类似“主机无法访问”或“没有到主机的路由”的信息。
  2. 您的家庭和办公室网络使用不同的私有 IP 地址空间(到目前为止更可能的情况),在这种情况下,你正在尝试访问不同私有网络中的一台机器,并且您将收到“网络无法访问”错误

那为什么之前还可以呢?

我的猜测是,这种情况发生在您带着笔记本电脑工作时,在这种情况下,两台设备都位于同一个专用网络上。当您报告它“工作”时,您认为问题与您的 SSH 守护程序有关,而不是与您的网络配置有关。

那么我该如何解决这个问题呢?

有几种解决方案。以下是我能想到的一些:

  1. 按照红蟋蟀的评论,早上出门前请确保您的笔记本电脑已连接到公司的 VPN。这将使两个设备看起来是在同一个专用网络上。
  2. 掏钱买一个静态IP地址由您的 ISP 提供。不过,对于您获得的好处而言,这可能成本太高、风险太大2 。由您决定。
  3. 看一个动态域名解析服务。其中大部分也是有代价的。但似乎有一些网站愿意免费提供这项服务。同样,在这种情况下,您需要注意您的安全和隐私。
  4. 你可以使用 Dropbox 运行简单的命令/脚本在您的笔记本电脑上。免责声明:我没有尝试过这种方法,也不一定保证其成功/安全。

请注意,在上述解决方案 2 和 3 中,您需要某种机制将笔记本电脑侦听的 SSH 端口(默认情况下为端口 22)从网关路由器(连接所在的位置)转发到您的笔记本电脑。这通常可以从路由器本身内部完成。在路由器界面中,查看 NAT(网络地址转换)选项。在某些路由器中,这可能会归档在“游戏”类别下。


1当然,该办公室计算机可能运行也可能没有 SSH 守护程序。因此,您要么被要求提供您尝试登录的用户的凭据(这些凭据与您笔记本电脑的凭据相同的可能性也很小),要么您会收到“连接被拒绝”错误,因为那里该设备上没有运行 SSH 侦听器(在标准 SSH 端口上)。

2 您的设备拥有静态 IP,使其成为攻击者的固定目标,因此在这种情况下您可能需要考虑防火墙和严格的访问控制。

相关内容