Назад | Перейти на главную страницу

OpenSSH adds <ipv6>% 2 до known_hosts</ipv6>

Когда я подключаюсь к хосту CentOS 7 с IPv6, мой клиент ssh всегда добавляет <IPv6 host addr>%2 к known_hosts даже если ключ хоста для этого хоста (с IPv6-адресом хоста) уже присутствует в known_hosts.

Что это %2 стоять за? Я использую немодифицированный OpenSSH из CentOS 7 версии 6.6.1p1-25, выпуск 25.el7_2.

Обновление: в комментарии упоминалось разрешение имен как возможная проблема. На самом деле я использую systemd-resolved на клиентской машине. Когда я удаляю resolved из /etc/nsswitch.conf (hosts вариант) проблема больше не возникает. Это с systemd-resolved-219-19.el7_2.7.x86_64).

Обновление (февраль 2017 г.): Я только что заметил ошибка, устраненная systemd 4465 поэтому поведение, которое я заметил, было / является просто ошибкой, которая будет исправлена ​​в более поздней версии systemd.

Различные классы IPv6-адресов имеют разную область действия. Вы встретите адреса хоста области (например, ::1), ссылка (например, fe80::200:5eff:fe00:5342), глобальный (например 2001:db8::1).

Когда адрес со ссылкой области видимости используется на хосте с более чем одной ссылкой, % обозначение используется, чтобы указать, по какой ссылке используется адрес.

Все адреса, начинающиеся с fe80: находятся в локальной области связи и могут нуждаться в спецификации интерфейса. Интерфейсы можно указать по имени или по номеру. Например, на компьютере я набираю это с eth0 это номер интерфейса 2, так fe80::200:5eff:fe00:5342%2 и fe80::200:5eff:fe00:5342%eth0 было бы эквивалентно. Любая запись будет указывать на хост с локальным адресом ссылки fe80::200:5eff:fe00:5342 в сети, которая моя eth0 интерфейс подключен к.