Назад | Перейти на главную страницу

Сервер резервного копирования SSH - подключение к нескольким удаленным без пароля

Мне интересно, как настроить ключи ssh без пароля, чтобы я мог подключаться и получать данные с нескольких удаленных серверов. Могу я просто сделать:

Резервная машина:

ssh-keygen -t rsa
ssh-copy-id -i /home/user/.ssh/id_rsa.pub root@server1
ssh-copy-id -i /home/user/.ssh/id_rsa.pub root@server2
ssh-copy-id -i /home/user/.ssh/id_rsa.pub root@server3

и на каждом удаленном сервере {1-3} выполните:

PermitRootLogin forced-commands-only

и разреши rsync вытащить данные с резервного сервера на каждый удаленный.

Это были бы правильные шаги?

Спасибо

  1. Запустите команду генерации от имени пользователя root (через sudo -s или sudo -i), поэтому ключа нет в вашем домашнем каталоге
  2. Ты не можешь ssh/scp на свои серверы как root, если у вас нет интерактивного входа в систему root (например, в системах на основе Debian); сделайте это как пользователь, если у вас есть логин на этих машинах. Затем войдите в систему и скопируйте файл authorized_keys в /root/.ssh/ на каждом сервере и установите правильные разрешения.
  3. Использовать from="w.x.y.z" в вашем файле authorized_keys, если у вас есть статический IP-адрес на резервной машине. В PermitRootLogin forced-commands-only не намного лучше чем without-password.

Да, ты можешь это сделать. Я написал Сообщение блога об этом некоторое время назад (он основан на настройке dirvish, которая представляет собой систему резервного копирования на основе rsync). После настройки ключей на клиентах вы можете запустить резервное копирование, посмотреть, какую команду оно выполняет, а затем установить принудительные команды.