如何透過 ssh 進入 ISP NAT 後面的家庭 LAN(無公用 IP 位址)?

如何透過 ssh 進入 ISP NAT 後面的家庭 LAN(無公用 IP 位址)?

我的物業管理公司提供免費上網服務。許多建築物中的所有公寓都位於一些公共 NAT 後面,因此我們沒有人擁有自己的公共 IP 位址。因此,像 dyndns.org 這樣的服務不起作用,至少我無法弄清楚。我想要做的就是能夠 ssh 到我家庭 LAN 上的一台機器(它位於 2 層 NAT 後面,一層位於我無法控制的 ISP 處,一層位於我控制的路由器處)。我可以在路由器上設定連接埠轉送等,沒有問題。我懷疑我的 LAN 上的某些機器(機器1)必須探出外部機器(機器2)使用公共IP建立SSH隧道,然後我可以從其他地方的機器建立隧道(機器3) 透過機器 2 到機器 1。

我的問題是:

  • 我的懷疑是真的,還是有其他方法?
  • 如果我必須透過隧道連接到其他機器,是否有可用的公共 ssh 代理或類似代理,或者我是否需要對具有公共 IP 的人進行竊聽以讓我透過他們的機器進行隧道連接?

答案1

我想澄清布萊恩:的回答濱町,以 Linux 為重點。

首先安裝它:

wget https://secure.logmein.com/labs/logmein-hamachi_2.0.1.13-1_i386.deb
sudo aptitude install lsb
sudo dpkg -i logmein-hamachi_2.0.1.13-1_i386.deb 

然後前往濱町頁面並創建一個新的混搭網絡,記住“網絡號”,因為登入需要它。

返回命令列

sudo hamachi login
sudo hamachi set-nick $HOSTNAME
sudo hamachi do-join XXX-XXX-XXX

然後再次返回網頁並允許客戶端位於該網路上。 (可能需要客戶端重新登入)

然後檢查網路上有哪些電腦:

sudo hamachi list

現在,無論是否存在 NAT,您都可以直接取得該 ip 號碼並進行 ssh!

/玩得開心

答案2

您可以遠端在沒有 IP Public 的情況下存取您的電腦的 SSH shell使用桌面或智慧型手機(例如 Android),透過在您想要遠端存取 SSH 的電腦中安裝 robitoto。

  • 這將允許您在任何地方使用 Google Talk 用戶端應用程式存取 SSH。
  • 無需公共 IP 位址或特殊設定。
  • 我不再免費和開源,不再支付任何應用程式服務費用。

我製作了一個腳本(在 Raspberry Pi 中的 raspbian 作業系統上進行了測試),以便您可以輕鬆地在 Raspberry Pi、Debian 或 Ubuntu Box(debian 軟體包發行版)上安裝 Robotito。這是讓你的 Linux 盒子可遠端控制的步驟:

  1. 打開 Shell 命令或您可以將其稱為終端,轉到您的主資料夾,透過命令下載安裝程式腳本:

    $wget https://opengateway.googlecode.com/files/robotito

  2. 之後輸入命令運行腳本:

    $sudo ./robotito

  3. 然後,如果 Robotito 使用您的 gtalk 帳戶,您可以從 config 資料夾編輯檔案 credential.rb 並按 ctrl+x 和 y 儲存它。預設使用 Nano 編輯器。

  4. 透過指令從robotito資料夾運行robotito

    $cd robotito

    $./jabbershd start

  5. 現在已經完成了,您可以從任何 google talk 用戶端使用 ssh,不要忘記將 Robotito gtalk 帳戶添加到您的 google talk 帳戶,並在使用該帳戶之前通過互相聊天進行測試。

答案3

您看過像 Hamachi 這樣的服務嗎其作用類似 VPN 之類的?由於客戶端聯繫他們的伺服器,這並不重要,將有一個開放的連線返回到您的家庭電腦。

答案4

對於 raspbmc:下載腳本並運行後

sudo apt-get install ruby1.8 rubygems bundler
cd robotito-master
bundle install
./jabbershd run (to see it connect)

請注意:您必須將 Google 帳戶設定為接受安全性較低的應用程式。

相關內容