Putty

如何通過(Putty)SSH 下載文件

  • June 28, 2011

想像以下情況:

由於 IP 過濾限制,我沒有對 Server-A 的直接 SSH 訪問權限。要訪問伺服器(使用 putty 從 Windows 訪問),我首先連接到具有白名單 IP 地址的 Server-B,然後從那里通過 SSH 連接到 Server-C,然後從那里通過 SSH 連接到 Server-A(我知道這聽起來瘋了,但不幸的是我無權更改 IP 過濾限制)。有沒有辦法使用 putty/winscp/anything 將文件從 Server-A 下載到我的本地 PC?

使用埠轉發。例如,WinSCP 可以選擇通過 ssh 隧道創建連接,並且它使用埠轉發。儘管如此,由於您需要通過兩個躍點進行隧道傳輸,因此您無法使用它。

我可能會首先創建與伺服器-B 的 ssh 連接,該連接具有到伺服器-C 的隧道。您可以為此使用 plink.exe(膩子的一部分):

plink.exe -l username_on_server_B -L 8888:server-C:22 server-B

現在,您可以創建第二個隧道,使用與伺服器 B 的 ssh 連接,這會導致伺服器 A(在第二個 cmd.exe 外殼中):

plink.exe -l username_on_server_C -L 8889:server-A:22 -P 8888 localhost

在此之後,您應該能夠使用 WinSCP 連接到伺服器 A。您連接到本地主機埠 8889,而不是伺服器 A,該埠將通過隧道連接到伺服器 A。

這是未經測試的,但我認為它應該可以工作。

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