![將 WinSCP 與 SFTP 伺服器和兩個 SSH 隧道躍點結合使用](https://rvso.com/image/1330235/%E5%B0%87%20WinSCP%20%E8%88%87%20SFTP%20%E4%BC%BA%E6%9C%8D%E5%99%A8%E5%92%8C%E5%85%A9%E5%80%8B%20SSH%20%E9%9A%A7%E9%81%93%E8%BA%8D%E9%BB%9E%E7%B5%90%E5%90%88%E4%BD%BF%E7%94%A8.png)
我在一台 Windows 機器上使用 PuTTY 透過 ssh 連接到我的學校伺服器。從那裡我需要slogin -XY machine1
然後slogin -XY machine2
。
理想情況下,我想使用 WinSCP 來連接和傳輸檔案。我知道我可以透過使用兩份 PuTTY 副本來完成此操作,一份用於 ssh 進入伺服器並建立代理,第二份 PuTTY 用於連接到代理並登入 machine1 並建立第二個代理。然後我可以使用 WinSCP 連接到代理伺服器並登入 machine2...
有更簡單的方法嗎?
答案1
WinSCP 直接支援一跳。
請參閱其進階網站設定對話框的隧道頁面。
為了另一跳(兩跳中的第一跳), 您可以使用plink
在“本地代理指令”特徵。
配置將如下所示:
第一跳進階網站設定對話框的代理頁面:
這“本地代理指令”需要設定為:
plink.exe %user@%proxyhost -nc %host:%port
當然,你需要安裝 Plink(Plink 的一部分)膩子包)。
為此,身份驗證必須在沒有任何提示的情況下無縫進行。所以通常是使用
-pw
轉變用於密碼身份驗證或選美用於公鑰身份驗證。不過,Plink 的克隆版本也支援互動式身份驗證。看“具有 GUI 身份驗證的本機代理命令”我的回答的一部分如何在 PuTTY 或 mRemoteNG 中保存具有多重身份驗證的 SSH 隧道設定?第二跳進階網站設定對話框的隧道頁面:
最終伺服器轉到登入對話框:
答案2
您可以使用 MobaXterm:它具有像 WinSCP 一樣的圖形 sftp 功能,但它還允許您自動遍歷機器躍點。他們稱之為「SSH 彈跳」。
您只需
從此處下載 MobaXterm:http://mobaxterm.mobatek.net/download-home-edition.html
- 按一下「新會話」並選擇「ssh」
- 在「SSH 反彈(透過網關 ssh 伺服器連線)」中指定您的第一個電腦名稱或 IP 位址。
答案3
機器 1 和 2 是基於 UNIX 的嗎?如果是這樣,你不能直接使用 Unix scp 嗎?無論如何,您將無法使用winscp 在兩個基於unix 的系統之間傳輸檔案。
從源機器,
scp -rp user@hostname:destination_directory /path/to/files
您還沒有明確說明要將文件從何處傳輸到何處。