在我的局域网(debian服务器,windows客户端)上,我在下面的代码中使用rsync://协议
cwRsync\rsync.exe -avLP --force --append-verify rsync://rsync-usb@server/rsync-usb/* usb/我读过,在守护进程模式下使用rsync:// protocol的rsync不使用加密,所以如果我想在互联网上使用rsync,我想使用加密。我喜欢rsync://user@server/模块的简单性。
我不希望在允许登录的情况下使用ssh用户,因为我不想给我的服务器访问权限。
我已经用阻塞的登录创建了一个用户
rsyncssh:x:1001:1007:,,,:/tmp:/bin/false有没有办法在ssh上隧道rsync:// protocol?例如,使用plink.exe (putty链接)和私有用户密钥?
发布于 2015-05-26 15:06:59
我经常使用SSH端口隧道来创建加密通道。由于您使用的是rsync:// URL,所以假设您在远程服务器上的TCP端口873上运行rsync守护进程。我们可以按以下方式转发该港口:
ssh -N -L 873:localhost:873 rsyncssh@server-N选项阻止远程命令的执行,在您的情况下,远程命令将断开会话,因为没有有效的shell。现在可以通过本地主机上的转发端口与远程服务器进行同步,即运行旧命令,但将@server替换为@localhost。
您还可以将-f选项添加到SSH命令中,以将SSH移动到后台,如果您希望始终保持连接处于打开状态,这可能会非常方便。为了方便和安全起见,我建议您使用私钥登录。
如果您没有在远程服务器上运行rsync守护进程,请设置一个守护进程,并在必要时使用man 5 rsyncd.conf中的文档。
发布于 2015-05-26 16:48:06
rsync可以直接使用ssh,使用-e。
rsync -avP -e /home/share/ remote:/home/share否则,隧道可以正常工作,另一种解决方案是stunell。
https://unix.stackexchange.com/questions/205666
复制相似问题