Tengo un host llamado nms.example.org. En mi /etc/ssh/ssh_known_hosts
tengo una entrada para el host con la clave RSA. Esta entrada y todas las demás entradas son administradas por mi sistema de administración de configuración.
nms.example.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZqfmVPs/XqTS...
También tengo una entrada en mi /etc/ssh/ssh_config
para el host específico que configura el alias de la clave del host. Lo que si entiendo todo correctamente, esto significa que solo el nms.example.org
debería importar.
Host nms.example.org nms.example nms
HostKeyAlias nms.example.org
HostName nms.example.org
¿Por qué entonces, cuando me conecto desde un cliente, ssh todavía parece pensar que necesita agregar una clave a mis conocidos_hosts por usuario con la IP del host?
$ ssh nms -v
OpenSSH_6.0p1 Debian-4+deb7u4, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /home/zoredache/.ssh/config
debug1: /home/zoredache/.ssh/config line 61: Applying options for *
debug1: /home/zoredache/.ssh/config line 71: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 84: Applying options for nms
debug1: /etc/ssh/ssh_config line 363: Applying options for *
debug1: Connecting to nms.example.org [104.236.190.144] port 22.
debug1: Connection established.
debug1: identity file /home/zoredache/.ssh/zoredache-20140204.id_rsa type 1
...
debug1: Server host key: RSA 6b:5f:b6:e9:13:c3:b7:39:1e:ec:74:05:33:64:4d:5e
debug1: using hostkeyalias: nms.example.org
debug1: Host 'nms.example.org' is known and matches the RSA host key.
debug1: Found key in /etc/ssh/ssh_known_hosts:104
Warning: Permanently added the RSA host key for IP address '192.0.2.144' to the list of known hosts.
debug1: ssh_rsa_verify: signature correct
...
SSH sabe que mi host es válido (ver:) Host 'nms.example.org' is known and matches the RSA host key
entonces, ¿por qué agrega la clave de la IP a un perfil de usuario?
Esto es extremadamente irritante, porque cuando reinstalo una máquina, mi sistema de administración de configuración maneja muy bien la recolección y distribución de las claves de host a todo el sistema. Pero habrá estas claves conflictivas asociadas con las IP en los archivos conocidos_host por uso que causan advertencias en un intento de conexión que impide que se conecten los scripts.
$ ssh nms -v
OpenSSH_6.0p1 Debian-4+deb7u4, OpenSSL 1.0.1e 11 Feb 2013
...
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u4
debug1: using hostkeyalias: nms.example.org
...
debug1: Server host key: RSA 6b:5f:b6:e9:13:c3:b7:39:1e:ec:74:05:33:64:4d:5e
debug1: using hostkeyalias: nms.example.org
debug1: Host 'nms.example.org' is known and matches the RSA host key.
debug1: Found key in /etc/ssh/ssh_known_hosts:104
Warning: the RSA host key for 'nms.example.org' differs from the key for the IP address '192.0.2.144'
Offending key for IP in /home/zoredache/.ssh/known_hosts:25
Matching host key in /etc/ssh/ssh_known_hosts:104
Are you sure you want to continue connecting (yes/no)?
¿Cómo puedo evitar que ssh almacene en caché este valor por IP en cada usuario conocido_hosts? ¿O hay alguna razón de seguridad por la que solo tengo que vivir con este comportamiento molesto? Esto también me frustra porque un par de servidores tienen direcciones IP algo dinámicas. Mi gestión de configuración maneja las actualizaciones de DNS. Pero me quedan estas claves de host por IP que llenan mis archivos de host_conocidos por usuario.
CheckHostIP yes
hace mejorar la seguridad ... si el usuario sabe exactamente lo que está haciendo, cómo el sistema utiliza este parámetro, y Los conceptos de confianza implícita. Entonces, realmente estaría dividiendo pelos, lo que no haré ... Lo