rsync使用socks5代理的正確方法


在服務器開啟了IP白名單等情況下,我們有時需要通過代理來連接服務器,而rsync自然也會遇到這個問題。某篇博客中提到使用環境變量RSYNC_PROXY來指定socks5代理,這其實是錯誤的,RSYNC_PROXY指定的是http代理。

然而,RSYNC_PROXY只支持rsync服務模式,而很多時候我們用rsync時都是用SSH這樣的遠程Shell程序來進行同步(如果服務器上沒有運行rsync的后台服務,基本就是使用SSH同步方式,詳細可參見這篇文章),這種情況下該如何使用代理呢?

當然是有方法的:

rsync -avuz -e 'ssh -p 22 -o "ProxyCommand=nc -x 127.0.0.1:1080 %h %p"' root@hostname:/remote_dir /local_dir

其中127.0.0.1:1080就是socks5代理地址。如果報了nc不支持-x參數的問題,說明你的netcat版本不對,需要安裝netcat-openbsd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM