Tengo una Raspberry Pi y puedo acceder a ella a través de SSH (autenticación mediante contraseña de usuario) cuando mi computadora portátil está en la misma red. Ahora quiero acceder a él a través de internet.
Ya configuré mi enrutador para reenviar el puerto a mi Raspberry Pi e instalé fail2ban para (con suerte) hacer que descifrar la contraseña a través de fuerza bruta sea inviable.
Lo extraño es que obtengo una clave diferente al acceder al Pi a través de Internet en lugar de a través de LAN:
christoph@christoph-laptop-14-04:~$ ssh-keygen -H -F 192.168.1.92
# Host 192.168.1.92 found: line 9 type ECDSA
|1|Zz8zhCYwRu7jKa/bcUTnw/BzGmo=|m2E+0RwiVXcr8lAxbK/W13ZmZUA= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAgUNwcHmVBowUoKvi9iLtoKifh/9qKAj6BNfQsYzYuoXtlYEnTUVLn4XpMYJ9+TMwL23ZDnmJuz8noKK3rFrYg=
christoph@christoph-laptop-14-04:~$ ssh-keygen -H -F [my global IP]
# Host 185.5.10.87 found: line 10 type ECDSA
|1|kEE5HDC1uBkqDN3SpQ8yFvwdj0A=|iDaNuB2Y8d3kIFPqFoXjrERRJ/0= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAgUNwcHmVBowUoKvi9iLtoKifh/9qKAj6BNfQsYzYuoXtlYEnTUVLn4XpMYJ9+TMwL23ZDnmJuz8noKK3rFrYg=
Todo menos el principio es el mismo. Entonces, ¿por qué el comienzo es diferente? ¿La dirección IP está codificada en esto o algo así?
Otra cosa que me confunde es que cuando antes había una clave diferente (obviamente no puedo conectarme porque la clave cambió, pero también) se me muestra esto:
ECDSA key fingerprint is ed:47:24:c6:4e:c1:ca:99:d9:77:59:8f:01:12:85:cd
Puedo averiguar el de mi portátil a través de:
ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
y viene en el mismo formato. Pero cuando ssh en mi Pi y ejecuto el mismo comando, la salida es:
256 SHA256:Npy6IbI8vDd4V3iCOcIVEsF4j2bsf9vbWcsf1ti8izE root@christoph-pi (ECDSA)
que no parece tener nada que ver con ed:47:24:c6:4e:c1:ca:99:d9:77:59:8f:01:12:85:cd
.
Primero pensé que tal vez Npy6IbI8vDd4V3iCOcIVEsF4j2bsf9vbWcsf1ti8izE
era una codificación de base 64 para ed:47:24:c6:4e:c1:ca:99:d9:77:59:8f:01:12:85:cd
que parece estar en codificación hexadecimal con cada byte separado del siguiente con dos puntos, pero la longitud de Npy6IbI8vDd4V3iCOcIVEsF4j2bsf9vbWcsf1ti8izE
es 43, que es No es un múltiplo entero de 4, por lo que no es base64. Entonces, ¿qué es?