从远程机器 ssh 到本地机器

从远程机器 ssh 到本地机器

我想从远程 ssh shell 通过 ssh 进入我的本地机器。通过查看ifconfig

$ ifconfig

wlan0     Link encap:Ethernet  HWaddr 60:d8:19:24:bd:8b  
          inet addr:137.44.181.163  Bcast:137.44.183.255  Mask:255.255.252.0
          inet6 addr: fe80::62d8:19ff:fe24:bd8b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:2107490 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1813977 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2109347830 (2.1 GB)  TX bytes:340765253 (340.7 MB)

我可以ssh 137.44.181.163在本地机器上顺利完成此操作。但是当我从远程机器尝试此操作时(是的,我确实想这样做,而不是仅仅退出 shell),我得到:

 ssh: connect to host 137.44.181.163 port 22: No route to host

端口 22 已打开。

/etc/sysconfig/iptables本地机器上不存在所以我创建了它并添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

只是为了确定一下。还是没有结果。

也许我的整个方法都是错误的 - 但我想知道是否有人对我如何从远程主机 ssh 回到本地计算机有任何建议?我需要这样做以进行文件/文件夹传输。我不想离开远程主机并使用,scp因为我需要从远程主机推送文件,而不是在本地主机上检索它。

答案1

错误信息说明了一切:您的主机不知道如何到达目的地,因为目标主机的 IP 地址或网络地址不在您的路由表上。

输入netstat -rn。你应该看到类似这样的内容:

Destination     Gateway       Genmask         Flags   MSS Window  irtt Iface                                                                                                       
0.0.0.0         10.64.1.1     0.0.0.0         UG        0 0          0 wlan1

中的 IP 地址网关列应为路由器的列。这种目标 IP 地址为 0.0.0.0 且子网掩码为 0.0.0.0 的条目称为默认网关或默认路由。

如果您的路由表没有默认路由,则应添加一个。非持久性解决方案是以route add default gw [router_ip]root 身份进入终端。您必须更改主机的静态 IP 配置或路由器的 DHCP 服务器参数才能获得永久解决方案。

相关内容