在我的辦公室裡有兩台PC,它們都位於有自己的私人IP的路由器後面。我正在嘗試透過 SSH 連接到它們,但它似乎只有在我的筆記本連接到同一 Wifi 時才有效(這意味著所有電腦都在同一網路中)。如何透過 SSH 在家工作?
我猜它使用的是公共 IP(您從 www.whatismyip.com 或類似的 IP 獲得的 IP),但我找不到一種方法來告訴 SSH 連接到特定的 PC。
另外,我有一個動態 IP,所以我設定了一個 DNS 伺服器(使用 my.noip.com)。
順便說一句,所有這些都在 Ubuntu 上。
提前致謝。
編輯:
我在 Internet 標籤(啟用 NAT 連接埠對映協定)下為路由器(蘋果時間膠囊 A1470)新增了一些選項,並使用連接埠 22 和我感興趣的 PC 的私人 IP 位址新增了連接埠對映設定。儘管如此,仍然不知道如何使用公用 IP 進入私人 IP。
編輯2:
顯然,我的連接埠轉送正在工作,但我認為我有兩個 IP,一個用於路由器,一個用於公共 IP,儘管公共 IP 似乎無法到達路由器 IP。在我的路由器資訊中有一個IP,類似172.xxx;當我透過該 IP 進行 ssh 並指定連接埠時,我無法進入辦公室中我感興趣的兩台 PC 中的一台,如果我更改連接埠(我之前在連接埠轉送中設定的連接埠),我可以進入其他電腦。問題是外網的PC無法使用路由器中轉送的IP。公用 IP 也無法運作,即使來自同一網路也是如此。
答案1
您必須在路由器中新增連接埠轉送規則,並設定所需電腦的 LAN IP 和連接埠 22 的目標 IP 位址。
您無法透過 SSH 指定要連接到哪台計算機,只能連接到 IP 位址(或可解析的網域名稱)和連接埠(預設 22)。僅適用於您在路由器上設定了連接埠轉送規則的使用者。
但是,您可以為每台電腦新增多個規則,但每台電腦的 WAN 端連接埠必須不同,即。連接埠 22 只能使用一次。
例如:
- WAN 連接埠 22 ---> LAN IP: 192.168.1.1 連接埠: 22
- 廣域網路連接埠 2220 ---> 區域網路 IP: 192.168.1.2 連接埠: 22
- 廣域網路連接埠 2221 ---> 區域網路 IP: 192.168.1.3 連接埠: 22
請參閱我對一個非常相似的問題的回答: 為什麼我無法從網路外部存取我的網路伺服器?
答案2
檢查您的數據機,看看它是否充當網關。聽起來你有雙 NAT。看看是否可以關閉數據機上的 NAT。