FastNetMon

Sunday, 9 September 2007

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

Вот недавно в сети наткнулся на заметку, повествующую о возможности логиниться на 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логин и вместо привычного запроса пароля вы получите запрос ввести ключевую фразу, которую указали при генерации ключа, вводите его и, вуаля, Вы в системе! Не правда ли удобно ?)

Данная публикация является лишь моей интерпретацией содержания данной статьи.

2 comments :

  1. удобно :)
    надо будет попробовать

    ReplyDelete
  2. Просто и удобно :)

    ReplyDelete

Note: only a member of this blog may post a comment.