Estoy tratando de recrear las claves de host del servidor ssh.
Tengo al menos dos formas de hacer esto:
Con dpkg-reconfigure
dpkg-reconfigure openssh-server
Esto funciona bien, pero no puedo dar la longitud de la clave entonces. Quiero, por ejemplo, 4096 para la clave RSA.
Manualmente con ssh-keygen
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa
Esto me recrea las claves, pero después de reiniciar el servidor, recibo el siguiente mensaje de error :
could not load host key: /etc/ssh/ssh_host_rsa_key
así que revisé el archivo sshd_config que hay allí:
HostKey /etc/ssh/ssh_host_rsa_key
combina perfectamente Entonces, verifiqué el propietario y los derechos de todas mis llaves
-rw------- 1 root root 3326 Mär 24 08:57 ssh_host_rsa_key
Cuando elimino todas las claves y las vuelvo a crear
dpkg-reconfigure openssh-server
, las claves son más pequeñas y tienen los mismos derechos de archivo que las anteriores.
Pregunta: ¿Cómo puedo usar dpkg-reconfigure
con keylengh 4096 para RSA?
sshd
en modo de depuración desde la línea de comandos (sudo sshd -d
) para obtener más información sobre el problema y publicar el resultado.livewire@za20:/etc/ssh$ sudo sshd -d
.sshd re-exec requires execution with an absolute path
De lo contrario, habría incluido un ejemplo en mi respuesta :(sudo /usr/sbin/sshd -d
. El error que obtuvo se entiende literalmente (aunque no del todo claro).dpkg-reconfigure
con keylength 4096? ¿Hay algún archivo de configuración en algún lugar que contenga esta información? Miré a mi alrededor en las bases de datos de debconf (en/var/cache/debconf/
) pero no encontré nada que se pareciera a la longitud de la clave.Respuestas:
Crea una clave de host con una contraseña. ¿Hay alguna personalización para desbloquear esa clave de host? De lo contrario, creo que eso es lo que se espera: el script que administra el servicio se inicia, intenta cargar la clave de host y falla. Hasta donde yo sé, no deberías crear llaves de host protegidas con contraseñas.
Si está interesado en fortalecer su servidor SSH, le recomiendo leer https://stribika.github.io/2015/01/04/secure-secure-shell.html. El comando utilizado para crear la clave de host en ese documento es:
Pero debe leer todo el documento antes de realizar cambios.
fuente
Ninguna de las respuestas anteriores funcionó para mí. Arreglé mi sistema ubuntu haciendo lo siguiente:
fuente
Simplemente ejecute:
ssh-keygen
genera una clave SSH.-t
especifica el tipo de clave para crear-b
especifica el número de bits en la clave.Vea esta página para más información.
fuente