2016-07-08 85 views
0

我有2臺計算機在Linux上(Ubuntu的喜歡),都在分離的本地網絡(192.168.xxx.xxx)。SSH連接到本地網絡上的遠程

我想通過SSH從Linux1連接到Linux2,但它沒有任何公共IP。

我也有一個公共服務器(srv.domain.com) 我想這兩臺PC都可以連接到服務器,它將能夠轉發命令?

但我無法弄清楚如何做到這一點。有人已經做了類似的事情,可以向我解釋。

我對所有機器的根訪問

非常感謝您的幫助!

+1

你的問題不是關於編程,所以它是StackOverflow的焦點話題。儘管如此,[這個答案](http://unix.stackexchange.com/a/46271/13377)可能有助於揭示隧道是如何工作的,以及將什麼與什麼連接起來。 – ghoti

回答

0

最簡單的方法是讓防火牆/路由器允許主機之間的ssh連接。但還有另一種方式:

如果您的服務器可以達到兩個客戶端,你可以ssh到服務器和端口重定向到另一臺機器上的SSH:

ssh -L 1234:CLIENT2:22 -l USERNAME SERVERNAME 

登錄到本機後打開另一個終端窗口並輸入:

ssh -l USERNAME -p 1234 localhost 
  • USERNAME應與服務器/第二 客戶端上的用戶名來代替。
  • 應將CLIENT2替換爲 第二個客戶端的ip或主機名。
  • SERVERNAME應該替換爲您的 服務器的名稱。

您也可以ssh到服務器上,並從那裏打開另一個SSH會話。但是,這將是很容易;)


如果您的服務器無法到達客戶端,你必須建立隧道倒過來:

ssh -R 1234:22 -l USERNAME SERVERNAME 

登錄到本機後,打開一個終端窗口其它機器上,然後輸入:

ssh -l USERNAME -p 1234 SERVERNAME 
  • USERNAME應與服務器上的用戶名來替換/第二 客戶端。
  • SERVERNAME應該替換爲您的 服務器的名稱。
相關問題