首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隧道rsync://协议在ssh上

隧道rsync://协议在ssh上
EN

Unix & Linux用户
提问于 2015-05-26 12:23:21
回答 2查看 2.5K关注 0票数 2

在我的局域网(debian服务器,windows客户端)上,我在下面的代码中使用rsync://协议

代码语言:javascript
复制
cwRsync\rsync.exe -avLP --force --append-verify rsync://rsync-usb@server/rsync-usb/* usb/

我读过,在守护进程模式下使用rsync:// protocol的rsync不使用加密,所以如果我想在互联网上使用rsync,我想使用加密。我喜欢rsync://user@server/模块的简单性。

我不希望在允许登录的情况下使用ssh用户,因为我不想给我的服务器访问权限。

我已经用阻塞的登录创建了一个用户

代码语言:javascript
复制
rsyncssh:x:1001:1007:,,,:/tmp:/bin/false

有没有办法在ssh上隧道rsync:// protocol?例如,使用plink.exe (putty链接)和私有用户密钥?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2015-05-26 15:06:59

我经常使用SSH端口隧道来创建加密通道。由于您使用的是rsync:// URL,所以假设您在远程服务器上的TCP端口873上运行rsync守护进程。我们可以按以下方式转发该港口:

代码语言:javascript
复制
ssh -N -L 873:localhost:873 rsyncssh@server

-N选项阻止远程命令的执行,在您的情况下,远程命令将断开会话,因为没有有效的shell。现在可以通过本地主机上的转发端口与远程服务器进行同步,即运行旧命令,但将@server替换为@localhost

您还可以将-f选项添加到SSH命令中,以将SSH移动到后台,如果您希望始终保持连接处于打开状态,这可能会非常方便。为了方便和安全起见,我建议您使用私钥登录。

如果您没有在远程服务器上运行rsync守护进程,请设置一个守护进程,并在必要时使用man 5 rsyncd.conf中的文档。

票数 6
EN

Unix & Linux用户

发布于 2015-05-26 16:48:06

rsync可以直接使用ssh,使用-e。

代码语言:javascript
复制
rsync -avP -e /home/share/ remote:/home/share

否则,隧道可以正常工作,另一种解决方案是stunell。

票数 -1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/205666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档