MacPorts 依靠 rsync 来完成其工作,而我依靠 SOCKS5 代理来完全访问互联网。如何让 rsync 通过我的代理运行其所有查询?
答案1
除了 Sirex 的答案之外,您还可以使用nc(1)
(netcat)使用代理。
再次修改您的~/.ssh/config
文件:
Host server-prox
Hostname www.server.com
ProxyCommand /usr/bin/nc -x localhost:8080 %h %p
然后运行
rsync -e ssh server-prox:path/to/files
并且 rsync(或者说 ssh)将自动使用代理命令。
这假设存在SOCKS代理运行在localhost
8080 端口,你可以使用
ssh -D 8080 proxyserver.com
我个人使用
ssh -qfxND 8080 proxyserver.com
要设置代理隧道,-qfxN
使命令在后台静默运行,请参阅ssh(1)
。
答案2
抱歉,只是粘贴一个网址,但它这里解释。本质上你安装连接实用程序,添加如下内容到~/.ssh/config
:
Host stokebloke.com
ProxyCommand connect -S user@socks-server:1080 %h %p
然后使用:
rsync --progress -avrz -e ssh src_dir/ [email protected]:~/dest_dir/