En una Mac, abra Terminal y ejecute ssh-add -l. Esto lista las huellas digitales y los comentarios de las identidades disponibles a través del agente SSH conectado a esa sesión de Terminal; no muestra material de clave privada. Si el agente no tiene identidades, el comando informa de ello. Considere esto como una comprobación de la conexión actual del agente, no como un inventario completo de las claves almacenadas en su Mac.
Listar las identidades en el agente actual
En Terminal, introduzca:
ssh-add -l
La opción -l lista las huellas digitales de las identidades representadas por el agente. El formato de huella digital predeterminado de OpenSSH es SHA-256. Cada resultado incluye normalmente el tamaño de la clave, la huella digital, el comentario de la clave y el algoritmo; el comentario puede ayudar a identificar la clave, pero es un texto proporcionado por el usuario y no es una prueba de qué cuenta o servidor la aceptará. Manual de ssh-add(1) de OpenSSH
Este comando solo solicita un listado. No añade ni elimina identidades. Evite ssh-add -D y ssh-add -d mientras realiza la comprobación: esas opciones eliminan identidades. Evite también ssh-add -L si su objetivo es revelar lo mínimo posible. Esa opción muestra los parámetros de la clave pública para las identidades en el agente. Una clave pública no es una clave privada, pero constituye más información identificativa que una huella digital. Manual de ssh-add(1) de OpenSSH
Comprender una lista vacía o un error de conexión
Si la salida indica que el agente no tiene identidades, el agente al que ha accedido esta Terminal no tiene ninguna que notificar. Eso no determina que usted no tenga claves SSH en el disco, en un autenticador de hardware o en otro lugar. Tampoco demuestra que otra aplicación o ventana de Terminal use el mismo agente. OpenSSH se basa en la variable de entorno SSH_AUTH_SOCK para localizar el agente, por lo que distintas sesiones pueden estar conectadas de forma diferente. Manual de ssh-add(1) de OpenSSH
Si, por el contrario, ve un error como “Could not open a connection to your authentication agent”, la shell actual no ha podido consultar el socket del agente. El listado no ha determinado si otra sesión tiene identidades. Vuelva a ejecutar ssh-add -l en la Terminal o shell que utiliza para SSH; no inicie un nuevo agente solo para comprobarlo, ya que eso podría dar a esta shell un agente diferente y vacío. Si el comando sigue fallando, compruebe si el entorno está configurado para proporcionar SSH_AUTH_SOCK con printf '%s\n' "$SSH_AUTH_SOCK". Esto muestra la ruta del socket, no una clave, pero en sí mismo no verifica que el socket sea utilizable.
Distinguir el agente de Keychain de macOS
Una identidad SSH cargada en un agente y una contraseña almacenada en Keychain son cosas diferentes. Apple documenta UseKeychain como una opción de configuración de SSH para almacenar la contraseña de una clave, y AddKeysToAgent como una opción que carga una clave en el agente cuando SSH la utiliza. Por lo tanto, una contraseña en Keychain no significa por sí sola que la identidad aparezca actualmente en ssh-add -l; una identidad puede añadirse al agente más adelante, por ejemplo durante una conexión SSH. Nota técnica TN2449 de Apple
Si necesita inspeccionar los elementos de Keychain, Keychain Access puede mostrar información sobre las claves y certificados almacenados en un llavero seleccionado. Esa es una inspección independiente de listar el agente activo, y no debe utilizarse para inferir qué identidades puede ofrecer actualmente esta Terminal. Soporte técnico de Apple: Ver la información guardada en un llavero en la Mac
Qué le puede indicar esta comprobación
Utilice ssh-add -l cuando necesite una instantánea de baja divulgación de las identidades disponibles para el agente en esta sesión de Terminal. Compare la huella digital con un registro de confianza si necesita reconocer una clave en particular. El listado no muestra el contenido de claves privadas, no identifica todas las claves del ordenador, no confirma que un servidor remoto autorice una clave ni garantiza que un comando SSH posterior vaya a utilizar una identidad listada; la configuración de SSH y el contexto de la conexión también afectan a la autenticación.
Fuentes
Nota técnica TN2449: Actualizaciones de OpenSSH en macOS 10.12.2 — Apple Developer
Ver la información guardada en un llavero en la Mac — Soporte técnico de Apple