同步使用rsync + SSH +公钥到SSH密钥所有者不同用户的本地和远程目录(Syncing l

2019-08-07 01:09发布

我们的目标是通过ssh同步本地和远程文件夹。

我现在的用户为user1,我有一个无密码的访问设置通过SSH服务器server1的 。 我想本地文件夹同步与rsync的效用的手段对server1的文件夹中。 通常我会运行:

rsync -rtvz /path/to/local/folder server1:/path/to/remote/folder

如预期ssh访问的作品,rsync的是能够通过SSH连接,但它返回“Permission denied”错误,因为Server1上的文件夹/path/to/remote/folder用户2拥有的: 该文件夹的文件权限不允许它被其他人修改。 user1Server1上所以sudoer sudo su - user2 SSH会话过程中起作用。 如何当它的ssh“编到服务器ForSE召开前夕rsync的切换用户?

添加用户1到组用户2不是一个选项,因为服务器上的所有用户/组管理是自动完成的,由中央回购复制每隔X分钟,我没有访问。

同为改变目标文件夹的权限/所有权:它是在所有的权限重置定期自动更新。

来我的脑海里可能的解决方案是,同步与服务器上的用户1拥有一个临时的中间远程文件夹的本地文件夹的脚本,然后同步2个遥控器文件夹, 用户2。

谷歌搜索较短和漂亮的解决方案没有取得任何成功。

Answer 1:

我没有通过我自己尝试过,但如何使用rsync的“--rsync路径”选项?

rsync -rtvz --rsync-path='sudo -u user2 rsync' /path/to/local/folder server1:/path/to/remote/folder


Answer 2:

要解决您需要通过该远程登录为用户2的SSH会话rsync的运行权限问题:

rsync avz -e 'ssh -i privatekeyfile' /path/to/local/folder/ user2@server1:/path/to/local/folder

以下的答案必须解释了如何设置SSH密钥。

  • 从远程计算机上的蚂蚁,下载文件集


Answer 3:

设置密码少USER1访问用户2 @ server1的访问,然后执行:

rsync -rtvz /path/to/local/folder user2@server1:/path/to/remote/folder


文章来源: Syncing local and remote directories using rsync+ssh+public key as a user different to the ssh key owner