Практически большую часть времени приходится удаленно администрировать сервера. Основным средством для удаленного администрирования (точнее удаленного доступа к консоли) является протокол SSH, реализация которого присутствует во FreeBSD в виде свободного пакета — OpenSSH. Естественно, что для входа на сервер посредством SSH необходимо пройти аутентификацию. Возможно несколько способов аутентификации, но в статье пойдет речь всего лишь об одном — аутентификацию по ключу. Данный способ хорош тем, что лишает смысла любые атаки с перебором паролей, но есть один, хоть и не большой, но минус — ключ придется всегда носить с собой.
Итак, для того, чтобы OpenSSH стал пускать на сервер по ключам, необходимо в конфиге /etc/ssh/sshd_config привести следующие параметры к такому виду:
# Разрешает аутентификацию по ключу для первой и второй версии протокола
RSAAuthentication yes
PubkeyAuthentication yes
# Файл, в котором находятся разрешенные (открытые) ключи
AuthorizedKeysFile .ssh/authorized_keys
Если в остальных методах аутентификации у вас нужды нет, то отключите их. Осталось дело за малым, сгенерировать пару ключей (открытый и закрытый), которые будут использоваться для входа на сервер. Открытый ключ размещается на необходимом сервере, а закрытый ключ находится только у вас и будет использоваться для аутентификации. Для генерации ключей предназначена утилита ssh-keygen. Вот список некоторых полезных параметров:
- -b — битность ключа;
- -f — имя файла, в который будет записан ключ (если не указывать, то открытый и закрытый ключи будут находиться в директории ~/.ssh);
- -t — тип ключа (rsa, dsa и т.п.);
Таким образом, чтобы сгенерировать пару ключей, необходимо выполнить такую команду:
ssh-keygen -t rsa -b 2048
В директории ~/.ssh должно появиться два файла id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ). Закрытый ключ вы носите везде с собой, а открытый нужно добавить в файл .ssh/authorized_keys на удаленный сервер пользователю, под которым будет осуществляться вход.
cat id_rsa.pub >> ~user/.ssh/authorized_keys
Также необходимо задать правильные права доступа на нужные папки и файлы (если этого не было сделано ранее):
chmod 700 ~user/.ssh
chmod 600 ~user/.ssh/authorized_keys
Вот и все, теперь можно заходить на удаленный сервер по ключу. Чтобы использовать сгенерированный с помощью пакета OpenSSH закрытый ключ в putty, нужно конвертировать его в собственный формат putty с помощью утилиты puttygen, которую можно найти на официальном сайте клиента putty. Для примера приведу скрин процесса конвертации закрытого ключа
Полученный файл нужно указывать в putty: Connection -> SSH -> Auth в поле "Private key file for authentication". На этом все, пожелания/замечания прошу оставлять в комментариях, а вопросы задавать на форуме.
пн, 26/01/2015 - 13:32
Утерян ключ как отключить на сервере
пн, 26/01/2015 - 21:00
Добавить комментарий