Вот что получилось: у меня есть Linode VPS, резервную копию которого я хочу сохранить на свой локальный ноутбук через rsync. Я только что сгенерировал ssh-ключи для связи и оставил пустую парольную фразу для закрытого ключа, чтобы я мог rsync через cron, не беспокоясь о паролях.
Для дополнительной безопасности я также запретил вход в систему по ssh root. В идеале я хотел бы сделать резервную копию всего из / вниз, но это просто невозможно с обычным пользователем, если я не дам конкретному пользователю rwx доступ ко всему.
Как лучше всего сделать резервную копию всей файловой системы через rsync, не разрешая вход в систему с правами root?
Вы можете запустить rsync в режиме демона на удаленном сервере и сделать резервную копию любого раздела / папки, которую вы хотите, используя следующую команду на стороне клиента:
rsync -au rsync://user@your.server.ip.addr:/folder /path/to/dest
Однако вам понадобится следующее:
[folder]
на удаленном сервере в /etc/rsyncd.conf
.Чтобы обработать часть безопасности / шифрования, вы можете настроить какой-нибудь туннель или VPN. Например, вы можете настроить туннель SSH, используя следующую команду:
sudo ssh -L 873:your.server.ip.addr:873 user@your.server.ip.addr
Как только туннель установлен, вы можете использовать rsync локально, и соединение будет перенаправлено на удаленный сервер через туннель.
rsync -au rsync://user@localhost:/folder /path/to/dest
В этом случае вам не нужно открывать порт 873 для публики, поскольку соединение туннелируется через SSH на порт 22.
Используйте учетную запись root: только uid 0 может читать все файловые системы.
Теперь, когда вы хотите повысить безопасность, вот что вы можете сделать:
В соответствии с человек 5 sshd_config :
" PermitRootLogin
Specifies whether root can log in using ssh(1). The argument
must be ``yes'', ``without-password'', ``forced-commands-only'',
or ``no''. The default is ``yes''.
If this option is set to ``without-password'', password
authentication is disabled for root.
If this option is set to ``forced-commands-only'', root login
with public key authentication will be allowed, but only if the
command option has been specified (which may be useful for taking
remote backups even if root login is normally not allowed). All
other authentication methods are disabled for root.
If this option is set to ``no'', root is not allowed to log in."
Никогда не пробовал параметр "только принудительные команды", но выглядит интересно.
Как насчет помещения пользователя в корневую группу?
Я считаю, что корневая группа сможет читать другие файлы, аналогичные root.