Аутентификация на SSH-сервере FreeBSD с использованием ключей. | Администрирование и применение FreeBSD
Дата публикации: 15.11.2021

Аутентификация на SSH-сервере FreeBSD с использованием ключей. | Администрирование и применение FreeBSD

820c0b0b

OpenSSH, кроме обычного входа по паролю, поддерживает еще несколько методов аутентификации. Он может быть сконфигурирован на использование методов PAM (Pluggable authentication modules), протокола Challenge/Response, Kerberos, аутентификации по доверенным хостам и по ключам X509. Самым популярным является метод Identity/Pubkey. Целью использования идентификации Identity/Pubkey является исключение использования статических паролей. Вместо того, чтобы каждый раз набирать пароли, которые могут быть скомпроментированы (подсмотрены, перехвачены кейлоггером и т.п.), в данном методе используется пара ключей (открытый и закрытый), которые хранятся по отдельности, и используются для проверки подлинности.

Плюс этого типа аутентификации очевиден: Никто не сможет войти на сервер с учетной записью пользователя, даже зная пароль, так как нужно обладать приватным ключом и знать кодовую фразу. Кроме того, Вы можете использовать утилиту ssh-agent (или pageant для Windows) для временного безопасного хранения аутентификационных данных в памяти клиентской рабочей станции.

Для начала привожу общий порядок действий:

Некоторая начальная информация: Системные файлы настройки 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.