從遠端機器 ssh 到本機

從遠端機器 ssh 到本機

我想從遠端 ssh shell 登入我的本機。透過看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 伺服器參數才能獲得永久解決方案。

相關內容