Я хочу, чтобы производственный сервер отправлял файлы резервных копий на резервную машину. Резервное копирование выполняется с помощью скрипта cron www-data
(так как они могут редактироваться с помощью веб-сайта 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/'