如何在兩個 RHEL 伺服器之間使用 Putty 配置 ssh 隧道?
我正在嘗試通過 Win/Putty 網關允許從遠端 RHEL 伺服器到本地 RHEL 機器的 ssh 訪問。基本上,我希望能夠在遠端伺服器上執行“ssh localhost -p 512”,以便它可以連接到本地網路中的 RHEL 伺服器。本地網路超出了防火牆,因此我可以使用 Putty/ssh 從我的 Win PC 連接到遠端伺服器,但反之則不行。
LclSrv—-WinXP/Putty—–||—–RmtSrv
所以,我在 Putty 的目前 RmtSrv 會話中添加了以下隧道設置(實際上我使用的是 Kitty,但沒關係):
R512 LclSrv:22
我希望這會在遠端伺服器上創建一個程序,該程序偵聽埠 512 並將連接傳輸到本地網路/LclSrv 埠 22。
按下開始按鈕後,Putty 成功打開正常 ssh 終端會話,但沒有任何反應。(選項顯示活動埠轉發)。我用 netstat -l 檢查了埠 512 沒有在 RmtSrv 上監聽。此埠上的 ssh 返回“連接被拒絕”。我究竟做錯了什麼?可能需要更改 sshd_config 中的某些內容以允許隧道傳輸?是否是 RmtSrv 上的使用者權限阻止我創建隧道?我有 sudo 順便說一句。
乾杯,弗拉德。
本地埠轉發場景(rmtsrv 可以訪問 WinXP):
您想要在 ssh 術語中做的是將本地埠轉發到另一台機器並允許其他主機 (rmtsrv) 連接到它。
所以你設置本地 WinXP:512 轉發到 lclsrv:22。
因此,在 Putty 的隧道設置中,請務必檢查
Local ports accept connections from other hosts
並將source port 512
目的地添加lclsrv:22
到轉發埠。編輯以適應評論:遠端埠轉發方案(WinXP 可以訪問兩個 srv):
您建議的配置應該可以工作。
r512 LclSrv:22
是正確的。我猜問題出在 rmtsrv 上的 sshd 安全設置上。檢查是否啟用:
AllowTcpForwarding yes
如果您想為 rmtsrvs 網路上的其他人啟用對轉發埠的訪問:
GatewayPorts yes
配置通常位於 ‘/etc/ssh/sshd_config