2014-10-07 139 views
-2

我想知道,有什麼方法可以做類似反向SSH的事情嗎?我已經閱讀過有關這樣的事情,但我不確定那是否是我想要的。SSH反向連接

我想要的是我的「服務器」和我的「客戶端」之間的連接,客戶端登錄到服務器並使用服務器來控制客戶端。我使用Python編寫了一個小腳本,使用套接字編程來完成基本的事情,但由於我的編程技巧,我無法完成諸如SSH可爲您提供的高級內容。

所以情況是:我想能夠從服務器控制客戶端。我確保客戶端連接到服務器,並使用服務器來控制客戶端。所以連接是相反的,其餘的都是正常的。這可能嗎?這是有史以來還是它是一個愚蠢的重複?

謝謝

回答

1

對不起,這確實是在互聯網上描述的。

所以,你必須做的: 就我而言,我的「客戶」上:
ssh -f -N -R 7000:localhost:22 [username]@[server-ip]

哪裏ofcourse ssh是你的程序
-f意味着你在後臺
-N運行的請求意味着你不想執行命令,而是轉發端口。
-R表示您想要使用上面問題中所述的反向SSH。此外,7000:localhost:22可以使任何到端口7000的連接重定向到localhost:22,其中localhost是客戶端,22是客戶端的端口。
最後但並非最不重要,您需要用服務器的用戶名替換[username],用服務器的IP地址替換[server-ip]

接下來,在服務器上運行:
ssh [username]@localhost -p 7000
在您需要與客戶端的用戶名來替換[username]。這是客戶端的用戶名,因爲雖然看起來您正在登錄到您的localhost,但您的localhost只是將端口號爲7000的連接轉發給客戶端。
因此,-p 7000指定了連接到的端口,這與我們在上一個命令中指定的端口相同。