Ssh

允許來自遠端主機的 ssh 連接

  • July 19, 2010

我今天剛開始玩 SSH 隧道,但我堅持有點愚蠢(我認為)……可能只是錯過了一些明顯的東西,但這裡有:

我有兩個 linux 伺服器和一個 Windows 客戶端(server1、server2、client)。我已經設置 server1 以創建到 server2 的反向 ssh 隧道,如下所示:

ssh -nNfR 8022:localhost:22 user@server1

之後,我可以使用以下命令在 server1 上成功獲取 shell:

ssh -p 8022 localhost

從邏輯上講,這使我認為我應該能夠創建與 server1:8022 的 putty ssh 連接並獲得 server2 的 shell,但我收到連接被拒絕錯誤。任何人都知道我錯過了什麼或者我完全走錯了路:)

謝謝

這是一個常見的問題。您需要在伺服器上啟用埠訪問。在**/etc/ssh/sshd_config****中將 GatewayPorts修改為yes**。

請參閱GatewayPorts下的man sshd_config

您可能還需要為隧道設置指定綁定地址:

ssh -nNfR *:8022:localhost:22 user@server1

綁定到所有介面。

參見**-R下的man ssh**

您正在使用

ssh -nNfR 8022:localhost:22 user@server1

這基本上是說’打開連接到 localhost 埠 22 的 server1 上的 8022 埠’,但 server1 上的’localhost’ 它… server1 :) 嘗試:

ssh -nNfR 8022:server2:22 user@server1

此外,當您在第一個命令上使用“localhost”時,您將埠綁定到不接受來自外部的連接的環回介面 (127.0.0.1),請嘗試使用 server1 主機名或 IP 進行檢查:)

引用自:https://serverfault.com/questions/162023