Метод аутентификации на основе адреса хоста: hostbased
Некоторые серверы могут разрешить аутентификацию на основе адреса хоста, с которого вошел пользователь, или на основании имени пользователя на удаленном хосте. Хотя такая форма аутентификации не должна быть приемлемой для серверов, требующих высокой степени безопасности, это может оказаться очень удобно во многих окружениях. Данная форма аутентификации не является обязательной.
Клиент запрашивает данную форму аутентификации, посылая сообщение, аналогично UNIX способам аутентификации rhosts и hosts.equiv. Отличие от этих способов аутентификации состоит в том, что идентификация хоста клиента выполняется более строго.
Данный метод выполняется следующим образом: клиент посылает подпись, созданную закрытым ключом хоста клиента, которую сервер проверяет с помощью открытого ключа хоста клиента.
SSH_MSG_USERAUTH_REQUEST имя пользователя сервис "hostbased" алгоритм открытого ключа для ключа хоста открытый ключ хоста и сертификаты для клиента хоста имя хоста клиента (FQDN; US-ASCII) имя пользователя клиента на удаленном хосте подпись
Имена алгоритмов открытого ключа определены в спецификации транспортного уровня. "Открытый ключ хоста клиента" может включать сертификаты.
Подпись закрытым ключом хоста клиента выполняется для следующих данных:
- Идентификатор сессии;
- Пакет, содержащий информацию, без подписи.
Сервер должен убедиться, что ключ хоста клиента принадлежит клиенту хоста, указанному в сообщении, что данному пользователю на данном хосте разрешен вход, и что подпись является действительной. Сервер может игнорировать имя пользователя клиента, если он хочет провести аутентификацию только хоста клиента.
Рекомендуется предусмотреть возможность выполнения сервером дополнительных проверок того, что сетевой адрес, полученный из внешней, неизвестной сети, соответствует данному имени хоста клиента.