題 如何從互聯網SSH到家用電腦


我有一個如下設置

  1. 我有一台連接到INTERNET的路由器,我的ISP提供動態IP
  2. 兩個系統通過locl ip 192.168.1.2和192.168.1.3連接到路由器
  3. 路由器的本地IP為192.168.1.1

我的問題是,當我知道ISP分配的IP時,如何從Internet訪問帶有IP 192.168.1.2的計算機

我的Dlink路由器有一個NAT字段,如下所示 enter image description here

我在192.168.1.2系統和路由器中啟用了SSH。當我填寫NAT表中的條目並嘗試連接到192.168.1.2系統時,它仍然只連接到路由器

我給出的值是服務器名稱:192.168.1.2,協議tcp和所有其他端口值作為ssh端口22.當我給出類似時它顯示消息路由器端口移動到2222,但當我使用nmap檢查時該端口未打開


2
2017-12-23 02:40


起源




答案:


大多數情況下,網絡地址轉換(NAT)由家庭路由器在內部完成。您的D-link路由器應該能夠自動處理轉換,但是您需要打開/轉發運行ssh-server的端口號。如果您在具有netID 192.168.1.2:PortNumber的PC上運行ssh-server,則打開從外部進入ip 192.168.1.2的PortNumber。檢查Dlink路由器上的規格,了解如何完成端口轉發。至於修復動態IP地址問題,您可能希望使用提供的免費服務 沒有IP害怕 等...所以你可以通過使用免費的DNS名稱解決你的動態/更改IP地址。


2
2017-12-26 01:59





您可以做的是在192.168.1.2上設置SSH以偵聽另一個端口。 通常,您可以通過編輯sshd.conf或sshd_config(例如,端口1022)來執行此操作。

當你運行ssh時,就這樣做,

ssh -p 1022 DynamicIP

其中DynamicIP是ISP分配的IP。

您需要將路由器設置為將端口1022轉發到192.168.1.2。

如果您使用的是Windows,請考慮使用 油灰 作為SSH客戶端。


1
2017-12-26 02:36





最簡單的方法可能是ngrok: https://ngrok.com/

Ngrok隧道穿過任何防火牆,並將公共可訪問(動態或靜態)子域設置為HTTP,甚至是直接TCP連接。咒語:

ngrok tcp 22

- >指定0.tcp.ngrok.io:19778,在應用程序運行之前保持打開狀態。付費版本也可以保留TCP地址,因此您可以將ngrok放入例如。 init.d使其自動啟動,並且只記住一個地址,無論您的ISP分配給您。

分配後,您可以通過ssh連接到它:

ssh -p 19778 0.tcp.ngrok.io


1
2018-04-07 03:38