-1

Я пытаюсь обернуть голову, используя Rsync. Я в основном хочу настроить "сервер", который будет выступать в качестве хранилища для файлов, которые я хочу синхронизировать со многими другими машинами. Я только начинаю этот путь, и я запутался в использовании rsync поверх ssh с использованием ключей rsa. Я нашел много учебников о том, как это сделать, но мой вопрос заключается в следующем. Нужен ли отдельный ключ rsa для каждого "клиента" и есть ли он на "сервере"? Или я могу использовать один ключ для всех клиентов? У меня могут быть сотни клиентов (надежда, надежда). Я понял, как заставить это работать вручную теперь для автоматической части. Любые идеи приветствуются.

2 ответа2

0

Вы можете настроить общий доступ к файлам на сервере; Общий ресурс Windows для клиентов Windows и общий ресурс NFS для клиентов Linux.

Если вы должны использовать rsync, вы можете перейти от сервера к клиентам. Чтобы предоставить разрешение для сервера на клиенте, запустите это с сервера:

ssh-copy-id username@client1

Затем вы бы выдавали синхронизацию каталога следующим образом, предполагая одно и то же имя пользователя для каждого:

for client in client1 client2 client3 client4 client5; do
    rsync -avz /full/path/ username@$client:/full/path/
done
0

Если вы говорите о сотнях клиентов, то ИМХО лучше использовать какое-то программное обеспечение для синхронизации. Это может быть git, fossil- scm или syncthing в режиме master. С последним вам не нужно возиться с клиентскими SSL-сертификатами вообще, и он работает практически на любой платформе. git и fossil могут обслуживаться по HTTPS, поэтому не нужно управлять большим количеством сертификатов. Используя такой подход, вы избавитесь от лишней работы по управлению доступом к вашему серверу. rsync действительно хорош, но IMHO не в вашем сценарии, поскольку вам нужно будет управлять безопасным SSH-сервером и связываться с кучей сертификатов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .