Ssh
允許來自遠端主機的 ssh 連接
我今天剛開始玩 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 進行檢查:)