Solución:
Cuando realiza una sesión SSH, se involucran dos pares de claves diferentes (con una huella digital para cada par). Uno es la clave del usuario que se almacena en ~/.ssh
. La identidad de la clave SSH del usuario a veces se utiliza como credenciales para iniciar sesión en otra computadora (si ha configurado un inicio de sesión basado en clave).
La otra es la clave del servidor SSH. Esta es la clave para la que ve la huella digital cuando se conecta a un servidor diferente por primera vez. La identidad de esta clave se utiliza para asegurarse de que está iniciando sesión en el servidor SSH que desea. Esto es importante si está utilizando contraseñas porque no querría intentar iniciar sesión accidentalmente en la máquina de un atacante: el atacante obtendría su contraseña cuando la ingresó. Luego, el atacante podría iniciar sesión en la máquina en la que pensó que estaba ingresando. ¡para! (esto se conoce como un “ataque de hombre en el medio”) Las claves que utiliza un servidor SSH para identificarse cuando inicia sesión se encuentran en /etc/ssh/
y por lo general se llama algo como ssh_host_rsa_key
.
De hecho, puede cambiar el lugar donde el servidor SSH busca la clave en el /etc/ssh/sshd_config
archivo con el HostKey /path/to/host/key
configuración.
Por defecto, ssh-keygen
creará una clave para el usuario actual, que, de forma predeterminada, se almacenará en ~/.ssh
. El formato de una clave de usuario y una clave de servidor es el mismo; la diferencia es dónde se colocan y si /etc/ssh/sshd_config
tiene un HostKey
directiva apuntando a ellos. Cuando instala el paquete openssh-server, genera automáticamente claves para que las utilice el servidor. De ahí provienen las claves con la huella dactilar desconocida. Si desea ver la huella digital de la clave del servidor SSH (RSA *), puede ejecutar ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
.
* Existen diferentes algoritmos de cifrado. Cada uno usa una clave diferente. Los más comunes son DSA (débil), RSA (valor predeterminado anterior) y ECDSA (nuevo valor predeterminado).
Las claves de host SSH se almacenan en /etc/ssh/
, que generalmente no es necesario que elija. Estas claves se generaron cuando se instaló el paquete openssh-server.
Puede enumerar la huella digital de las teclas por ssh-keygen -l -f /etc/ssh/ssh_host_key.pub
aunque deberá repetir esto para cada clave pública.
ssh-keygen
no genera la huella digital SSH en su servidor. Eso es generado por el servidor SSH. ssh-keygen
crea un par de claves pública / privada para su sistema que luego puede usar para acceder a su servidor SSH sin tener que transmitir un código de acceso de texto sin formato al servidor.
La huella digital de su servidor, obviamente, no se mostrará como la huella digital del par de claves pública / privada que generó, ya que están separadas entre sí.