Мне интересно, как настроить ключи 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
вытащить данные с резервного сервера на каждый удаленный.
Это были бы правильные шаги?
Спасибо
sudo -s
или sudo -i
), поэтому ключа нет в вашем домашнем каталогеssh
/scp
на свои серверы как root, если у вас нет интерактивного входа в систему root (например, в системах на основе Debian); сделайте это как пользователь, если у вас есть логин на этих машинах. Затем войдите в систему и скопируйте файл authorized_keys в /root/.ssh/
на каждом сервере и установите правильные разрешения.from="w.x.y.z"
в вашем файле authorized_keys, если у вас есть статический IP-адрес на резервной машине. В PermitRootLogin forced-commands-only
не намного лучше чем without-password
.Да, ты можешь это сделать. Я написал Сообщение блога об этом некоторое время назад (он основан на настройке dirvish, которая представляет собой систему резервного копирования на основе rsync). После настройки ключей на клиентах вы можете запустить резервное копирование, посмотреть, какую команду оно выполняет, а затем установить принудительные команды.