Я пытаюсь настроить rsync для копирования данных с сервера каждый день. Чтобы сделать систему максимально ограниченной, я пытаюсь использовать режим, описанный на странице руководства, как: «ИСПОЛЬЗОВАНИЕ ОСОБЕННОСТЕЙ RSYNC-DAEMON В СВЯЗИ С ДИСТАНЦИОННЫМ ОБОЛОЧКОМ»
Поэтому я поместил файл с именем rsyncd.conf в корневую домашнюю папку:
[root]
path = /
read only = true
и попытался скопировать / etc / passwd в качестве теста:
rsync -vv -e ssh myserver::root/etc/passwd .
Но я получаю следующее:
opening connection using: ssh myserver rsync --server --daemon .
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(635) [receiver=3.0.3]
Причина, по которой я все это делаю, состоит в том, что, как только я получу это, я планирую ограничить доступ, указав команду
rsync --server --daemon .
в ~ / .ssh / authorized_keys
Ответы:
Кажется, есть ошибка в документации или нереализованность rsync. человек rsync говорит:
но при подключении к root, согласно / var / log / messages, он искал в файле /etc/rsyncd.conf файл конфигурации (стандартное расположение файла rsyncd.conf, когда он не используется по SSH.
Мне пришлось заставить сервер SSH использовать правильный файл конфигурации, добавив
в /root/.ssh/authorized_keys.
Причина, по которой я не просто поместил конфигурацию в расположение по умолчанию, заключается в том, что я не хотел, чтобы кто-то случайно запустил нормальный демон rsync - я хочу, чтобы у демона был такой доступ, когда он получил правильный ключ ssh.
источник
rsync в режиме демона - это не то, что я бы посоветовал, если вы хотите максимально жестко заблокировать его. Вы хотите ограничить команду, которой разрешен запуск ключа SSH, и вызвать команду копирования с помощью этого ключа.
Чтобы узнать, какой командой ограничить ключ, запустите соответствующую командную строку rsync с небольшим изменением в команде ssh:
Вы увидите строку в выводе отладки, такую как:
Точная команда - это то, что вы хотите ограничить ключом, чтобы он мог запускаться в .ssh / authorized_keys:
источник