我想要一个生产服务器将备份文件推送到备份机器。备份是通过www-data
cron 脚本完成的(因为它们可以通过网站 cms 进行编辑),一旦完成,就会通过 rsync 和 ssh 将这些文件发送到备份服务器。www-data
是一个“无登录用户”帐户(没有主页,没有 ~/.ssh 文件夹)。
在“用户可以登录”帐户中,我将登录、生成证书ssh-keygen
并将公钥放入.ssh/authorized_keys
备份机器中。
我如何让这个“用户无登录”帐户使用 rsync 和 ssh 将文件发送到远程机器?
答案1
我如何让这个“用户无登录”帐户使用 rsync 和 ssh 将文件发送到远程机器?
你可以尝试以下方法
# su -l www-data -s '/bin/bash' -c 'rsync -rzav --rsh="ssh -p 22 -i user_can_login_private.key -o StrictHostKeyChecking=no" /var/www/html/ user_can_login@{backup_machine_ip}:/backup/html/'