generate - ssh-keygen-t rsa




¿Cómo encuentro la huella dactilar de mi clave RSA? (8)

Necesito realizar la auditoría de claves SSH para GitHub, pero no estoy seguro de cómo encontrar mi huella dactilar de RSA. Originalmente seguí una guía para realizar la configuración en un cuadro de Ubuntu 10.04 (Lucid Lynx) alojado por Linode .

¿Cuál es el comando que debo ingresar para encontrar mi huella digital de la clave RSA actual si me conecto de forma remota utilizando PuTTY?


Aquí reproduzco el contenido de los forums AWS porque me resultó útil para mi caso de uso: quería comprobar cuáles de mis claves coincidían con las que había importado en AWS

openssl pkey -in ~/.ssh/ec2/primary.pem -pubout -outform DER | openssl md5 -c

Donde: - primary.pem es la clave privada para verificar


Ejecute el siguiente comando para recuperar su huella dactilar de la clave SSH ( -l significa "lista" en lugar de crear una nueva clave, -f significa "nombre de archivo"):

$ ssh-keygen -lf /path/to/ssh/key

Así, por ejemplo, en mi máquina el comando que ejecuté fue (usando la clave pública RSA):

$ ssh-keygen -lf ~/.ssh/id_rsa.pub
2048 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff /Users/username/.ssh/id_rsa.pub (RSA)

Con las versiones más recientes de ssh-keygen, ejecute ssh-keygen -E md5 -lf <fileName> si desea el mismo formato que el anterior (gracias, Lloyd Dewolf).

Información de bonificación:

ssh-keygen -lf también funciona en archivos known_hosts y known_hosts y authorized_keys .

Encuentre la mayoría del público en un sistema Linux / Unix / OS X con find /etc/ssh /home/*/.ssh /Users/*/.ssh -name '*.pub' -o -name 'authorized_keys' -o -name 'known_hosts' (Si desea ver los homedirs de otros usuarios, deberá ser root o sudo).

El ssh-add -l es muy similar, pero enumera las huellas digitales de las claves agregadas a su agente. (Los usuarios de OS X toman en cuenta que el SSH mágico sin contraseña a través de Keychain no es lo mismo que usar ssh-agent).


Esta es la función de shell que utilizo para obtener mi huella dactilar de SSH para crear gotas de DigitalOcean :

fingerprint() {
    pubkeypath="$1"
    ssh-keygen -E md5 -lf "$pubkeypath" | awk '{ print $2 }' | cut -c 5-
}

Póngalo en su ~/.bashrc , ~/.bashrc , y luego puede obtener la huella digital así:

$ fingerprint ~/.ssh/id_rsa.pub
d2:47:0a:87:30:a0:c0:df:6b:42:19:55:b4:f3:09:b9

Google Compute Engine muestra la huella dactilar de la clave de host SSH en la salida en serie de una instancia de Linux. La API puede obtener esos datos de GCE, y no es necesario iniciar sesión en la instancia.

No lo encontré en ningún otro lugar sino en la salida serial. Creo que la huella digital debería estar en un lugar más amigable para los programadores.

Sin embargo, parece que depende del tipo de una instancia. Estoy usando instancias de Debian 7 (Wheezy) f1-micro.


Los comandos SSH más nuevos mostrarán las huellas digitales como una clave SHA256 .

Por ejemplo:

ssh-keygen -lf ~/.ssh/id_dsa.pub 
1024 SHA256:19n6fkdz0qqmowiBy6XEaA87EuG/jgWUr44ZSBhJl6Y (DSA)

Si necesita compararlo con una huella dactilar antigua, también debe especificar el uso de la función de hash de huellas dactilares MD5 .

ssh-keygen -E md5 -lf ~/.ssh/id_dsa.pub
2048 MD5:4d:5b:97:19:8c:fe:06:f0:29:e7:f5:96:77:cb:3c:71 (DSA)

También disponible: -E sha1

Actualizar ... SÍ ... ya no se deben usar las claves DSA para SSH, en su lugar se debe usar la clave RSA más antigua o las claves eclípticas más nuevas.

A esos 'administradores' que siguen editando el comando que usé en lo anterior. ¡DEJA DE CAMBIARLO!


Para ver su clave en Ubuntu, simplemente ingrese el siguiente comando en su terminal:

ssh-add -l

Obtendrá una salida como esta: 2568 0j:20:4b:88:a7:9t:wd:19:f0:d4:4y:9g:27:cf:97:23 yourName @ ubuntu (RSA)

Sin embargo, si recibe un error como; Could not open a connection to your authentication agent.
Entonces significa que ssh-agent no se está ejecutando. Puede iniciarlo / ejecutarlo con: ssh-agent bash (gracias a @Richard en los comentarios) y luego volver a ejecutar ssh-add -l


Si su agente SSH se está ejecutando, es

ssh-add -l

para listar las huellas dactilares RSA de todas las identidades, o -L para listar las claves públicas.

Si su agente no se está ejecutando, intente:

ssh-agent sh -c 'ssh-add; ssh-add -l'

Y para tus claves públicas:

ssh-agent sh -c 'ssh-add; ssh-add -L'

Si recibe el mensaje: ' El agente no tiene identidades. ', entonces primero debes generar tu clave RSA con ssh-keygen .


Un par de claves (las claves privada y pública) tendrán la misma huella digital; por lo tanto, en el caso de que no pueda recordar qué clave privada pertenece a qué clave pública, busque la comparación comparando sus huellas digitales.

La respuesta más votada por Marvin Vinto proporciona la huella digital de un archivo de clave SSH público . La huella digital de la clave SSH privada correspondiente también se puede consultar, pero requiere una serie más larga de pasos, como se muestra a continuación.

  1. Cargue el agente SSH, si no lo ha hecho. La forma más fácil es invocar.

    $ ssh-agent bash
    

    o

    $ ssh-agent tcsh
    

    (u otro shell que uses).

  2. Cargue la clave privada que desea probar:

    $ ssh-add /path/to/your-ssh-private-key
    

    Se le pedirá que ingrese la contraseña si la clave está protegida por contraseña.

  3. Ahora, como han dicho otros, escriba

    $ ssh-add -l
    1024 fd:bc:8a:81:58:8f:2c:78:86:a2:cf:02:40:7d:9d:3c [email protected] (DSA)
    

    fd:bc:... es la huella digital que buscas. Si hay varias claves, se imprimirán varias líneas y la última línea contiene la huella digital de la última clave cargada.

  4. Si desea detener el agente (es decir, si invocó el paso 1 anterior), simplemente escriba "exit" en el shell y volverá al shell antes de cargar el agente ssh.

No agrego nueva información, pero espero que esta respuesta sea clara para los usuarios de todos los niveles.





ssh-keys