從外部網路 ssh 到機器
我已連接到家裡的 WiFi 路由器,並想連接到另一台連接到另一個 WiFi 路由器的機器。WiFi路由器具有公共IP地址。
我想通過 ssh 進入機器,而不是通過 TeamViewer/AnyDesk 連接。我嘗試使用 ngrok,但它不允許我通過 ssh 連接到機器。
是否有任何用於此目的的 GitHub 儲存庫?
我將假設您在機器中執行 ssh 客戶端和伺服器,所以您的問題不存在。
因為您沒有提供太多資訊,所以我還將假設您的問題是網路配置問題(正如daniel-marchall在他的評論中所建議的那樣)而不是軟體問題:
通常,wifi 路由器使用兩個不同的網路,一個是具有您的公共 ip 的網路,另一個是具有私有 ip 的網路,您的所有設備都在其中連接(這取決於您的公司,但通常這些 ip 類似於192.168.xy 或 10.0.xy)
當您的電腦想要連接到外部站點(即,連接到不屬於您的私有網路的 IP)時,您的路由器將您的數據包從私有網路“傳輸”到公共網路,但會稍微更改數據包(基本上,它使用其公共 IP 更改您的私人 IP)。這樣做,允許外部站點將數據包發送回您的路由器。
當您的路由器通過其公共介面接收到一個數據包時,它會根據一些內部數據和指標(如果需要資訊,請查找 NAT)確定該數據包應該去往何處,並將數據包從公共介面傳輸到您的專用網路(再次,更改數據包的一些細節,如目標 ip)。
您要做的是連接到路由器的公共介面(通過 ssh 到公共 ip),然後路由器應該將數據包傳輸到您的機器。問題是在這種情況下,您需要幫助路由器進行傳輸,因為它沒有足夠的資訊來說明如何處理 ssh 包。
為此,最簡單的方法是使用埠轉發(再次,如之前的daniel-marchall)。這意味著您應該進入路由器的配置,並將其配置為“嘿,所有到達您的公共介面的埠號 22 的數據包,您應該將它們傳輸到我的私有 IP”。
配置過程取決於您的路由器型號。在 google 上查找,因為那裡有大量的手冊。
您可能遇到的其他問題是您無法修改路由器配置(也許使用反向隧道您可以做到),或其他數千個不同的問題,但我們需要更多資訊來幫助您。