Аутентификация по ssh без пароля на FreeBSD
- Информация о материале
- Автор: sapatgusom
- Категория: FreeBSD

Сервер SSH может выполнять аутентификацию клиентов несколькими способами. Самыми распространёнными из них являются аутентификация по паролю и аутентификация по SSH-ключам. Пароль обеспечивает базовый уровень защиты от несанкционированного доступа, тогда как SSH-ключи представляют собой гораздо более безопасный вариант.
Каждая пара ключей состоит из закрытого (приватного) и открытого (публичного) ключа. Закрытый ключ работает подобно паролю: его необходимо хранить на клиентской машине и ни в коем случае не разглашать. Дополнительно его можно защитить с помощью парольной фразы — пароля, который запрашивается при каждой попытке использовать закрытый ключ. Парольная фраза обеспечивает защиту ключа даже в случае получения несанкционированного доступа к файлу с закрытым ключом. Открытый ключ, напротив, можно свободно распространять без каких-либо негативных последствий. Этот ключ используется для шифрования сообщений, которые можно расшифровать только с помощью соответствующего закрытого ключа.
Чтобы настроить аутентификацию на основе SSH-ключей, необходимо добавить открытый ключ в учётную запись пользователя на удалённом сервере. Открытый ключ должен храниться в специальном файле в домашнем каталоге удалённого пользователя (~/.ssh/authorized_keys). Когда клиент пытается подключиться к серверу, сервер проверяет, соответствует ли открытый ключ клиента (точнее, его отпечаток) одному из сохранённых на сервере открытых ключей. Если соответствие найдено, клиент успешно проходит аутентификацию, и сессия начинается.