Механизм аутентификации с использованием открытых ключей в SSH работает следующим образом: 2
- Клиент отсылает серверу имя пользователя и свой публичный ключ. 2
- Сервер проверяет в файле ~/.ssh/authorized_keys наличие присланного клиентом открытого ключа. 25
- Если открытый ключ найден, то сервер генерирует случайное число и шифрует его открытым ключом клиента, после чего результат отправляется клиенту. 2
- Клиент расшифровывает сообщение своим приватным ключом и отправляет результат серверу. 2
- Сервер проверяет полученный результат на совпадение с тем числом, которое он изначально зашифровал открытым ключом клиента, и в случае совпадения считает аутентификацию успешной. 2
Для каждого пользователя генерируется своя уникальная пара ключей: закрытый ключ хранится у пользователя, а открытый размещается на сервере. 4 По открытому ключу сообщения зашифровываются, а по закрытому — расшифровываются. 4 Таким образом, только владелец ключа может расшифровать предназначенное ему сообщение. 4