当我使用IPv6连接到CentOS 7主机时,即使此主机的主机密钥(使用主机的IPv6地址)已经存在于known_hosts我的ssh客户机也始终将<IPv6 host addr>%2到known_hosts 。
%2代表什么? 我正在使用来自CentOS 7的未经修改的OpenSSH,版本是6.6.1p1-25,版本是25.el7_2。
更新:评论提到的名称parsing可能是一个问题。 事实上,我正在客户机上使用systemdparsing。 当我从/etc/nsswitch.conf选项)中删除时,问题不再发生。 这是与systemd-resolved-219-19.el7_2.7.x86_64 )。
更新(2017年2月):我只注意到systemd-resolved错误4465,所以我注意到的行为是/只是一个错误,将在systemd的更高版本中修复。
不同类别的IPv6地址有不同的范围。 您将遇到范围主机(例如::1 ),链接(例如fe80::200:5eff:fe00:5342 ),全局(例如2001:db8::1 )的地址。
当具有多个链接的主机使用具有作用域链接的地址时, %符号用于指示在哪个链接上使用该地址。
从fe80:开始的所有地址fe80:都在链路本地范围内,可能需要一个接口规范。 接口可以通过他们的名字或者他们的编号来指定。 例如在计算机上,我从eth0input的是2号接口,所以fe80::200:5eff:fe00:5342%2和fe80::200:5eff:fe00:5342%eth0将是等效的。 任何一种符号表示主机的链路本地地址fe80::200:5eff:fe00:5342在我的eth0接口所连接的networking上。