透過 2 個 ssh 伺服器從 win7 電腦到 srv2008 的 rdp - 無需 root

透過 2 個 ssh 伺服器從 win7 電腦到 srv2008 的 rdp - 無需 root

我正在嘗試與遠端 Windows 伺服器建立 RDP 連線。由於防火牆限制,我需要在 2 個遠端 ssh 伺服器上建立 SSH 隧道。

win7 + putty => sshsrv1(無root) sshsrv1 => sshsrv2(root) sshsrv2與winsrv2008位於同一網路中,需要連線。

在膩子中,我新增了一個要在「隧道」中轉送的連接埠。如果我只使用 1 台 ssh 伺服器,則效果很好。我無法讓它在 2 個 ssh 伺服器上工作,而這正是我真正需要的。

問題:如何在不成為 root 的情況下在 sshsrv1 上進行 portforward?這可能嗎?

答案1

來自 openssh 手冊頁面:「只有超級使用者可以轉送特權連接埠」。

低於 1024 的連接埠被視為「特權」連接埠。 RDP 預設使用 3389,因此超出了該範圍。

假設ABCD為Winsrv2008機器的ip位址,則可以:

  • 將 Win7 上的連接埠 pX 轉送到 sshsrv1 連接埠 pY
  • 從命令列,您在 sshsrv1 上開啟到 sshsrv2 的 ssh 會話,將連接埠 pY 轉送到主機 ABCD 上的連接埠 3389(選項 -L pY:ABCD:3389)
  • 在 win7 上,將 RDP 用戶端連接到 127.0.0.1:pX

您可以根據需要選擇端口 pX 和 pY,因此請避免使用特權端口/端口

相關內容