Итак имеется (к примеру) три сервера: lin_1 (10.10.10.1), lin_2 (10.10.10.2), lin_3(10.10.10.3), необходимо чтоб сервер lin_1 имел право запускать команды (скрипты) на lin_2 и lin_3 без запрашивания пароля.
Все нижеперечисленные действия выполняем под root (делал на SLES 9)
1. Генерируем ключи на lin_1
ssh-keygen -t rsa -b4096
Если нас все устраивает, просто жмем ENTER
По умолчанию он создаст два ключа (приватный id_rsa и публичный id_rsa.pub) в каталоге /root/.ssh/
2. Копируем ключ id_rsa.pub на lin_1 и lin_2 изменяя при этом имя ключа
scp id_rsa.pub root@10.10.10.2:/root/.ssh/id_rsa_1
scp id_rsa.pub root@10.10.10.3:/root/.ssh/id_rsa_1
3. Генерируем ключи на lin_2
ssh-keygen -t rsa -b4096
Также получаем два ключа (приватный id_rsa и публичный id_rsa.pub) в каталоге /root/.ssh/
4. Копируем ключ id_rsa.pub с lin_2 на lin_3 изменяя при этом имя ключа
scp id_rsa.pub root@10.10.10.3:/root/.ssh/id_rsa_2
5. Настраиваем lin_3 (доступ с lin_1 и lin_2)
В директории /root/.ssh/ имеем два ключа id_rsa_1 и id_rsa_2
Создаем пустой файл с названием keys_all (сам придумал) добавляем в него содержимое обоих ключей
cat ./id_rsa_1 >> keys_all
cat ./id_rsa_2 >> keys_all
6. Настраиваем sshd_config (/etc/ssh/sshd_config) на lin_3 на прием входящих соединений.
А именно необходимы следующие строки из дефолтного конфига (просто найти их в конфиге и разремить)
Port 22
Protocol 2
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/keys_all
RhostsRSAuthentication no
HostbasedAuthentication no
UseLogin no
7. Перегружаем демона sshd
/etc/init.d/sshd restart
Проверяем с lin_1 и lin_2 выполняем к примеру следующие команды
shh 10.10.10.3 df –hl
После ввода команды не должно спрашивать пароль, а сразу выдать результат (может попросить добавить в know_hosts, это единоразовое добавление)
8. Далее настраиваем lin_2 на прием входящих соединений от lin_1
Делается по аналогии, в каталоге /root/.ssh/ имеем два ключа id_rsa_1 и id_rsa , добавляем содержимое этих ключей в keys_all и рихтуем sshd_config и перегружаем демона (см.выше….)
Задача выполнена, так можно делать и для большего количества серверов (если есть необходимость) (Вроде ничего не забыл... )
Комментариев нет:
Отправить комментарий