Mal*_*ist 2 ssh rsync port-forwarding
我服务器上的每个端口都被阻止,除了端口 222 也是 ssh 连接。这台服务器几乎是一个备份服务器,我的客户端 rsync 到它。
我通过使用 ssh 的端口转发 ( -P 222 -L 873:myserver.com:873) 来做到这一点,但是,我只想使用 rsync 命令来做到这一点。那可能吗?
这是我一直在尝试的:
sudo rsync -avv --progress --inplace --rsh='ssh -p 222 -L 873:myserver.com:873' . rsync://bt-backup@localhost/backup-bt-backup
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为我尝试登录本地主机,而不是 myserver.com。
正在做:
sudo rsync -avv --progress --inplace --rsh='ssh -p 222 -L 873:myserver.com:873' . rsync://bt-backup@myserver.com/backup-bt-backup
Run Code Online (Sandbox Code Playgroud)
让我通过 ssh 登录,但 rsync 尝试远程主机而不是端口已转发的本地主机
如果服务器正在运行 SSHd,那么您可以直接使用rsyncover SSH。
例如,我一直在运行类似
rsync -a --inplace some/dir/ user@remote.server.tld:/destination/dir/
的东西。无需将 rsync 作为守护进程运行或启用端口转发,因为 rsync 将使用 SSH 链接启动其自身的副本,并通过 SSH 链接处理自身与该实例之间的所有同步(并且远程副本在连接时关闭被删除,所以你最终不会有一堆僵尸进程闲逛)。
要讨论标准端口以外的端口,您只需要给 rsync 一些关于它应该如何管理连接的额外信息,如下所示:
rsync -a --inplace -e 'ssh -p 222' some/dir/ user@remote.server.tld:/destination/dir/
这实际上更安全(所有 rsync 通信都受 SSH 安全传输保护,而通过端口转发,所有内容都以普通方式发送)且更方便(不需要 rsyncd,您可以使用基于 SSH 密钥的身份验证)
| 归档时间: |
|
| 查看次数: |
10673 次 |
| 最近记录: |