[英]Transfer Files from server after multiple hops over ssh , net cat not available
我正在尋找通過SSH自動從一堆服務器中檢索文件的方法。 問題是服務器位於單獨的網絡上,我需要經過2個中間服務器,並且這些服務器提供有限的特權,有限的ssh且沒有netcat或connect。
環保-
本地主機-> GW1-> GW2->(服務器1,服務器2,服務器3)
GW1,GW2甚至某些服務器都具有受限制的外殼。
當前使用的方法是,使用膩子創建到GW1的動態隧道,GW1存儲有配置以連接到GW2 ..ssh到GW2。配置filezilla以使用隧道,連接到服務器X,通過sftp下載文件
有什么辦法可以自動化嗎? 使用隧道連接和傳輸,即使只是文件傳輸部分也可以自動執行。 我隱約記得曾經成功使用隧道通過scp檢索文件,但不記得我是如何管理文件的。
此鏈接轉到有關透明多跳ssh的文章。 它提供了在類似情況下對我有效的解決方案。 我剛剛測試了從MacOS X到一個Linux盒子到另一個Linux盒子的過程,它確實起作用。 您的里程可能會因其他環境而異。
使用上面提供的名稱,將其放在$HOME/.ssh/config
。
Host GW2
ProxyCommand ssh -q GW1 nc GW2 22
Host server1
ProxyCommand ssh -q GW2 nc server1 22
我已經在這種類型的設置上使用了scp
,並且效果很好。 所引用的文章提供了更多詳細信息,但是proxy命令指令為它提供了一種預配置的方式來訪問對最終用戶透明的主機。
需要注意的是,本文指定使用nc -q0
,但是該選項在ubuntu VM或mac上的普通nc
上不可用。 沒有它似乎可以正常工作,幾分鍾的搜索使我幾乎無法弄清-q0
應該做什么。
如果有人知道並且想在這里包括它,我會很樂意更新我的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.