Авторизация на ssh серверах без пароля

Создаём ключи посредством запуска утилиты ssh-keygen -t rsa, которой нужно указать место сохранения созданных ключей, нас устроит путь по-умолчанию (/home/имя_вашего_пользователя/.ssh/id_rsa), потом вводим ключевую фразу, которая будет использована при генерации пароля (и при последующем его использовании). В результате всех операций мы получаем два файла: /home/имя_вашего_пользователя/.ssh/id_rsa — это и есть наш закрытый ключ и /home/имя_вашего_пользователя/.ssh/id_rsa.pub — как Вы уже догадались, это открытый ключ, который мы и поместим на наш сервер.

Следует отметить, что эти ключи и есть ваше удостоверение личности для удалённого сервера и хранить их следует подобающим образом, ибо если кто-то заполучит эти ключи в своё распоряжение, то будет очень сложно объяснить руководству, что это были не Вы)

Теперь нам нужно положить файл id_rsa.pub на удалённый сервер, можно это сделать посредством ftp, но я бы все же рекомендовал (ещё бы я не рекомендовал, если учесть тот факт, что у моего провайдера, будь он неладен, толком не работает фтп) воспользоваться шифрованной версией ftp — sftp: sftp имя_пользователя_на_удаленной_системе@хост.
После подключения выполняем команду put id_rsa.pub (соответственно находясь в каталоге ~/.ssh/ клиентской машинки).

Далее переключаемся на ssh на удалённой машине, находим папку, куда загрузили файл id_rsa.pub и перемещаем его в папку ~/.ssh/ под именем authorized_keys (возможно папку ~/.ssh придется создать).

Вот и все готово — устанавливайте соединение с ssh сервером: ssh хост -lлогин и вместо привычного запроса пароля вы получите запрос ввести ключевую фразу, которую указали при генерации ключа, вводите его и, вуаля, Вы в системе! Не правда ли удобно ?)

Источник: phpsuxx.blogspot.com


Понравилась статья? Поделись с остальными.

Комментарии закрыты.