我想从远程 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 服务器参数才能获得永久解决方案。