我试图猜测 dropbear 与这个常规 rsync 命令等效(使用带有代理的 ssh)
rsync -avz --delete -e "ssh -o 'ProxyCommand ssh user@proxyhost exec nc %h %p 2>/dev/null'" /tmp/a-folder user@host:/tmp
根据我的搜索,这全是关于-J
选项的,dropbear ssh
但我无法让它工作。
实现这一目标的好方法是什么?
附加信息:客户端使用 Dropbear。Proxyhost 是一台普通的 Debian 机器。主机是 Synology NAS。
答案1
您可以使用-J
代替-o ProxyCommand
。但-J
不支持%h
和%p
这样的符号ProxyCommand
。这意味着您需要再次指定主机名和端口。
确保两次都指定相同的主机名,否则将会失败 - 最有可能是在验证主机密钥时失败。
该命令应该可以工作:
rsync -avz --delete -e "dbclient -J 'dbclient -B host:22 user@proxyhost'" /tmp/a-folder user@host:/tmp