OpenSSH adiciona IPv6% 2 a known_hosts

1

Quando me conecto a um host do CentOS 7 com IPv6, meu cliente ssh sempre adiciona <IPv6 host addr>%2 a known_hosts , embora a chave do host para esse host (com o endereço IPv6 do host) já esteja presente em known_hosts .

O que significa o %2 ? Estou usando o OpenSSH não modificado do CentOS 7, que é a versão 6.6.1p1-25, release 25.el7_2.

Atualização: Um comentário mencionou a resolução de nomes como um possível problema. Na verdade, estou usando o systemd-resolved na máquina do cliente. Quando eu removo resolved de /etc/nsswitch.conf ( hosts option) o problema não ocorre mais. Isso é com systemd-resolved-219-19.el7_2.7.x86_64 ).

Atualização (fevereiro de 2017): Acabei de perceber o erro resolvido pelo sistema 4465 então o comportamento que notei foi / é apenas um bug que será corrigido em uma versão posterior do systemd.

    
por Felix Schwarz 19.04.2016 / 09:38

1 resposta

6

Diferentes classes de endereços IPv6 têm escopo diferente. Você encontrará endereços do host de escopo (por exemplo ::1 ), link (por exemplo, fe80::200:5eff:fe00:5342 ), global (por exemplo, 2001:db8::1 ).

Quando um endereço com link de escopo é usado em um host com mais de um link, a notação % é usada para indicar em qual link o endereço é usado.

Todos os endereços que começam com fe80: estão no escopo do link local e podem precisar de uma especificação de interface. Interfaces podem ser especificadas pelo seu nome ou pelo seu número. Por exemplo, no computador que estou digitando, de eth0 é o número da interface 2 , então fe80::200:5eff:fe00:5342%2 e fe80::200:5eff:fe00:5342%eth0 seriam equivalentes. Qualquer uma das notações indicaria o host com o endereço local de link fe80::200:5eff:fe00:5342 na rede à qual minha interface eth0 está conectada.

    
por 19.04.2016 / 09:49