Я хочу, чтобы производственный сервер отправлял файлы резервных копий на резервную машину. Резервное копирование выполняется через www-data
cron (поскольку они могут быть отредактированы cms сайта), и как только он завершится, идея состоит в том, чтобы отправить эти файлы на сервер резервного копирования через rsync & ssh. www-data
- это учетная запись «без входа в систему» (нет дома, нет папки ~ / .ssh).
В учетной записи «пользователь может войти» я бы зашел в систему, сгенерировал сертификат с ssh-keygen
и поместите открытый ключ в .ssh/authorized_keys
в резервной машине.
Как я могу сделать так, чтобы эта учетная запись «пользователь без входа» могла отправлять файлы на удаленный компьютер с помощью rsync и ssh?
Как я могу сделать так, чтобы эта учетная запись «пользователь без входа» могла отправлять файлы на удаленный компьютер с помощью 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/'