SSH и каноническое имя хоста клиента
Мой вопрос: как ssh определяет каноническое имя клиента, в котором он выполняется? Проходя отладочный вывод ssh, я вижу два варианта SSH-клиента с двойным подключением (eth0 для public, eth1 для pvt lan)
На SSH для размещения на общедоступной локальной сети (eth0), он распечатывает
debug2: userauth_hostbased: chost <FQDN of client>
На ssh для размещения на pvt lan (eth1) на том же хосте, он распечатывает
debug2: userauth_hostbased: chost <only hostname of client>
Почему вышеуказанная разница? Есть ли способ контролировать это?
Мой вопрос в контексте аутентификации на основе хоста между головным узлом с двумя домами (HN) и рабочими узлами (WN). Некоторые WN находятся на eth1 HN (pvt LAN), а некоторые на eth0 HN (public LAN)
Auth на основе хоста работает нормально от WNpvt до HN. но из HN в WNpvt он печатает:
no matching hostkey found
ssh_keysign: no reply
key_sign failed
Я подтвердил следующее на HN, которые являются требованиями сайта клиента для аутентификации на основе хоста.
- "EnableSSHKeysign yes" в ssh_config HN
- "/ usr / libexec / openssh / ssh-keysign" имеет набор suid
- Частные компоненты всех ключей SSH "rw" только пользователем root
- Имена хостов WN и IP-адреса находятся в /etc/ssh/shosts.equiv
- Открытые ключи WN (rsa, dsa) находятся в /etc/ssh/ssh_known_hosts
Пробовал сильно, но, кажется, я что-то упустил, возможно, из-за канонического имени, что ssh client.
Любая помощь / подсказка? Спасибо!