Аутентификация на SSH-сервере FreeBSD с использованием ключей. | Администрирование и применение FreeBSD
OpenSSH, кроме обычного входа по паролю, поддерживает еще несколько методов аутентификации. Он может быть сконфигурирован на использование методов PAM (Pluggable authentication modules), протокола Challenge/Response, Kerberos, аутентификации по доверенным хостам и по ключам X509. Самым популярным является метод Identity/Pubkey. Целью использования идентификации Identity/Pubkey является исключение использования статических паролей. Вместо того, чтобы каждый раз набирать пароли, которые могут быть скомпроментированы (подсмотрены, перехвачены кейлоггером и т.п.), в данном методе используется пара ключей (открытый и закрытый), которые хранятся по отдельности, и используются для проверки подлинности.
Плюс этого типа аутентификации очевиден: Никто не сможет войти на сервер с учетной записью пользователя, даже зная пароль, так как нужно обладать приватным ключом и знать кодовую фразу. Кроме того, Вы можете использовать утилиту ssh-agent (или pageant для Windows) для временного безопасного хранения аутентификационных данных в памяти клиентской рабочей станции.
Для начала привожу общий порядок действий:
- С помощью программы ssh-keygen (или puttygen для Windows-клиента) генерурием пару ключей: публичный (открытый) ключ (public key) и приватный (закрытый) ключ (private key)
- Приватный ключ помещаем на клиентскую рабочую станцию и больше никому не показываем
- Публичный ключ копируется на удаленный ssh сервер и помещается в специальный файл, известный серверу (~/.ssh/authorized_keys)
- Настраиваем файл конфигурации сервера ssh
- Настраиваем клиентскую рабочую станцию для работы с ssh по ключам
Некоторая начальная информация: Системные файлы настройки OpenSSH расположены в каталоге /etc/ssh. Файл /etc/ssh/ssh_config используется для настройки клиента, а sshd_config для сервера. Кроме того, можно настроить дополнительные параметры ssh-демона, используя ключ sshd_flags в файле /etc/rc.conf.
Теперь все этапы настройки рассмотрим подробно. 1) Создать ключи DSA или RSA, которые будут использоваться для аутентификации. Для примера, пусть имя пользователя будет operator, а имя сервера — server1.sample.com Для создания и управления ключами, предназначена программа ssh-keygen, входящая в пакет программного обеспечения OpenSSH.
Основные опции этой утилиты: -t type RSA1 — для протокола SSH версии 1. RSA — для протокола SSH версии 2 (самый надежный вариант) DSA — для протокола SSH версии 2.
Комментарии