Estoy tratando de actualizar mi servidor ssh de claves RSA de 2048 bits a claves más grandes, ya que las recomendaciones son eliminar gradualmente las claves de 2048 bits pronto.
Generé una nueva clave, luego la agregué a la configuración sshd, de esta manera:
HostKey / etc / ssh / ssh_host_rsa_key (antigua clave de 2k-bit primero) HostKey / etc / ssh / ssh_host_rsa4096_key (nueva clave más grande 2da )
Después de reiniciar sshd
, ingresé al host, no recibo la advertencia de cambio de identificación, sin embargo, el nuevo tampoco se almacena en caché ~/.ssh/known_hosts
. Si pongo las líneas en el orden inverso, recibo la advertencia de cambio de identificación. De manera similar, cuando agrego una clave ed25519, no importa en qué orden la coloque, el cliente no agrega la nueva clave al archivo de hosts conocido.
Esto parece imposibilitar la renovación de la clave del host SSH; sin embargo, es difícil de creer que ese sea realmente el caso, ya que la seguridad requiere rutinariamente actualizar las claves.
Sé que puede intercambiar la clave, luego cada cliente debe ejecutar ssh-keygen -R
para eliminar la clave anterior, luego verificar y aceptar manualmente la nueva clave, pero eso es un verdadero dolor, especialmente si tiene muchos clientes que se conectan o no administran Todos los clientes. Sin mencionar que si no administra a los clientes, hay una muy buena posibilidad de que no verifiquen la clave del host y simplemente presionen Y, por lo que el intento de mejorar la seguridad probablemente lo abrirá a personas los ataques del medio en su lugar.
¿Hay alguna forma de hacer que las actualizaciones de clave de host SSH funcionen? Es decir, los clientes deben aprender la nueva clave más segura (y con suerte también desaprender la clave obsoleta). Y sin dar la clave de host cambió la advertencia de hombre en el medio.
Respuestas:
La rotación de la clave de host es compatible desde OpenSSH 6.8 (tanto el cliente como el servidor agregan soporte en esta versión).
Entonces el proceso debería funcionar así:
HostKey newkey
(después de las existentes) a la/etc/ssh/sshd_config
sshd
UpdateHostKeys yes
su configuración (globalmente o por host)sshd_config
y reiniciarsshd
Los nuevos clientes suficientes podrán recoger las nuevas claves. Esta función no está habilitada de manera predeterminada, probablemente porque es bastante nueva y pronto mostró cierta consideración de seguridad. Pero en estos días, debería estar bien usarlo.
fuente
sshd siempre usa la primera línea, así que bórrala, luego reinicia sshd.
fuente