Varias personas han mencionado el hecho de que las claves de host ssh rara vez se rotan como un argumento para no rotar las claves ssl. Eso parece ser otro problema a resolver. (Pido disculpas por una respuesta ligeramente fuera de tema, pero varias personas aquí lo mencionaron por lo que parece apropiado)
Vea mi respuesta anterior para por qué uno podría desear rotar las teclas.
Lo siguiente será particularmente útil para todos aquellos que, por razones de cumplimiento, deben rotar las claves de host ssh, pero a quienes les preocupa el impacto de la usabilidad en los usuarios finales.
1) Implementar un ssh_ca
(Notablemente completa las instrucciones en man ssh-keygen)
ssh-keygen -f ssh_ca -b 4096
2) Distribuya el certificado a sus usuarios: agregue la línea de autoridad de certificado a ~ / .ssh / known_hosts
@cert-authority *.domain.name ssh-rsa AAAAB3[...]== Comment
3) Firme sus claves de host (asegúrese de restringir cada una a un host individual)
ssh-keygen -s ssh_ca -I host.domain.name -h -n host.domain.name -V +52w /etc/ssh/ssh_host_rsa_key.pub
4) Configure los servidores para presentar el certificado (/ etc / ssh / sshd_config):
HostCertificate /etc/ssh/ssh_host_rsa_key-cert.pub
El cliente confía en cualquier clave de host firmada por la CA (no se aceptan más a ciegas una firma clave la primera vez que te conectas)
Ahora se puede hacer rodar la clave de host sin interrupciones para los clientes. La firma de la clave se puede incluir en el proceso de creación / orquestación del host.
Esta es una buena referencia. Este proyecto creó algunas herramientas útiles sobre el uso de ssh_ca para el acceso de usuarios con expiración automática.