我想使用 rsync 同步 2 台服务器。操作系统是 Ubuntu 16.04,我在两台服务器上
使用名为此处的用户,syncuser
该用户位于组中sudo
我把(在/etc/sudoers
两台服务器上)
syncuser ALL=NOPASSWD: /usr/bin/rsync
然后从本地
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub (remote server)
我可以在没有凭据的情况下检查 ssh 连接,
也可以在没有凭据的情况下检查 sudo rsync,
所以现在我从本地运行
sudo rsync -avz -e "ssh" --rsync-path="sudo rsync" /home/data/ syncuser@remoteserver:/home/data/
并且....现在提示输入 syncuser@remoteserver 的密码!
我不认为我忘记了什么
答案1
你在跑步:
sudo rsync -e "ssh"
您ssh
从帐户(在运行命令之前root
使用的帐户)而不是帐户(可以访问远程服务器的帐户)执行sudo
rsync
syncuser
ssh
为了解决该问题,您可以允许root@local-host
访问syncuser@remote-host
(例如使用ssh-copy-id
)?