1

Я использую OpenSSH 6.7p1 на Debian 8 (Джесси).

Я использую аутентификацию с открытым ключом. Как часть этого, я использую опцию авторизации "from" в моем файле author_keys.

Я обнаружил, что при указании разрешенного исходного узла по IP-адресу ограничения доступа работают, как и ожидалось. Но когда я указываю разрешенный исходный хост по имени хоста, доступ не предоставляется. Он пропускает аутентификацию с открытым ключом и запрашивает пароль.

Рабочая запись в author_keys выглядит следующим образом:

from="10.1.1.1" ssh-rsa ...

Неработающая запись в author_keys выглядит так:

from="snoopy" ssh-rsa ...

Имя хоста "snoopy" разрешается файлом /etc /hosts. У меня нет DNS-клиента, работающего на одной из машин. Следующая запись появляется в /etc /hosts на обеих задействованных машинах:10.1.1.1 snoopy

Есть ли какой-нибудь способ, которым я могу заставить это работать, или это ограничение / проблема с моей версией OpenSSH?

1 ответ1

2

Для сервера OpenSSH это поведение контролируется параметром "UseDNS" в файле sshd_config сервера:

UseDNS
Указывает, должен ли sshd(8) искать имя удаленного хоста и проверять, соответствует ли разрешенное имя хоста для удаленного IP-адреса тому же IP-адресу.
Если для этого параметра установлено значение no (по умолчанию), то в директивах ~/.ssh/authorized_keys from и sshd_config Match Host могут использоваться только адреса, а не имена хостов.

Итак, если у вас есть доступ к настройке сервера ssh, вам следует включить UseDNS в файле конфигурации сервера, а затем перезапустить sshd.

Обратите внимание, что включение UseDNS может привести к тому, что ssh-соединение на короткое время (10-30 секунд) будет зависать, если поиск DNS по IP-адресу клиента идет медленно или не работает. Вы можете оставить этот параметр отключенным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .