ITblog.by » Статьи » Аутентификации на базе публичного ключа

Аутентификации на базе публичного ключа


Идея такая: сгенерировать на одной машине открытый и закрытый ключи, забросить ключи на удаленные машины и забыть про аутентификацию на десятках серверах. Этим же способом можно разграничивать доступ к серверам нескольким людям.
Итак. Для начала определяемся, от какого пользователя будем осуществлять вход на другие сервера по ssh. Например, user. Входим под ним на сервер и генерируем открытый и закрытый ключи:

ssh-keygen -t rsa

Затем последует несколько вопросов о размещении ключей и другое. Лично я отвечал все по-дефолту. Для безопасности проверяем права на созданные ключи. На файл id_rsa должны стоять права 600, на id_rsa.pub - 644. 


Далее добавляем открытый ключ в файл авторизованных ключей на удаленной машине:

ssh user1@host "cat >> .ssh/authorized_keys" < /home/user/ssh/id_rsa.pub

где user1 - логин, host - имя удаленного сервера или его ip. Если на удаленном сервере нету каталога ./ssh/, то используем следующую команду:

ssh user1@host "mkdir -m 700 .ssh; cat > .ssh/authorized_keys" < /home/user/id_rsa.pub

Все. Сейчас пробуем залогиниться  на удаленном сервере:

ssh user1@host

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


Rating All.BY Анализ сайта ITblog.by