我的物業管理公司提供免費上網服務。許多建築物中的所有公寓都位於一些公共 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 盒子可遠端控制的步驟:
打開 Shell 命令或您可以將其稱為終端,轉到您的主資料夾,透過命令下載安裝程式腳本:
$wget https://opengateway.googlecode.com/files/robotito
之後輸入命令運行腳本:
$sudo ./robotito
然後,如果 Robotito 使用您的 gtalk 帳戶,您可以從 config 資料夾編輯檔案 credential.rb 並按 ctrl+x 和 y 儲存它。預設使用 Nano 編輯器。
透過指令從robotito資料夾運行robotito
$cd robotito
$./jabbershd start
現在已經完成了,您可以從任何 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 帳戶設定為接受安全性較低的應用程式。