пятница, 26 февраля 2010 г.

SSH-доступ посредством публичных ключей

После долгих брожений по различным блогам и манам решил объединить всю полезную информацию у себя, дабы не мучиться далее заново =)

Итак, для начала создадим публичный ключ у себя на машине:

ssh-keygen

при этом будет предложено ввести секретную фразу, далее при каждом входе сервер будет запрашивать именно ее (если оставить поле пустым, вход будет осуществляться просто по ключу, что очень нежелательно!).

Теперь добавим его к идентификатору:

ssh-add

Далее добавляем ключ на сервер:

ssh-copy-id <пользователь на хосте>@<хост>

При использовании на ssh-сервере нестандартного порта:

ssh-copy-id "-p <порт> <пользователь на хосте>@<хост>"

Пробуем наше подключение с подробным выводом информации:

ssh <пользователь на хосте>@<хост> -v

Если все прошло удачно, то сервер запросит вместо пароля секретную фразу.

Отныне не нужно будет передавать пароль юзера системы по незащищенному соединению.

Чтобы каждый раз не вводить секретную фразу, на клиентской машине добавим его к своему идентификатору:

ssh-add

Еще не всё..

Персональный ключ для определенного хоста.

Для использования нескольких ключей для разных серверов, необходимо выполнить следующие действия. При создании ключа укажем его имя:

ssh-keygen -f ~/.ssh/<имя ключа>

После создания ключа добавляем его на сервер:

ssh-copy-id -i ~/.ssh/<имя ключа>.pub <пользователь на хосте>@<хост>

Добавляем к идентификатору:

ssh-add ~/.ssh/<имя ключа>

Последний шаг - пропишем настройки для хоста в файле ~/.ssh/config (если его нет, создайте):

Host <хост>

HostName <хост>

User <пользователь на хосте>

IdentityFile ~/.ssh/<имя ключа>

Как обычно проверяем наше подключение с подробным выводом информации:

ssh <пользователь на хосте>@<хост> -v

=-=-=-=-=
Powered by Blogilo

Комментариев нет:

Отправить комментарий