2 votos

Autenticación basada en claves SSH mediante tarjeta inteligente

Originalmente publiqué esto en Seguridad de la información pero espero atraer una respuesta aquí ya que esto es específico de OSX.

Así que soy bastante nuevo en formas más seguras de gestión de claves, he estado acostumbrado a almacenar mis claves dentro de archivos de claves en mi ordenador. Recientemente quería probar y ver si podía configurar la autenticación SSH a mi servidor web utilizando una clave almacenada en mi NitroKeyPro haciendo mi llavero más portátil y seguro en el proceso.

He seguido esta guía http://xmodulo.com/linux-security-with-nitrokey-usb-smart-card.html paso a paso, pero me di cuenta de que al final, no necesitaba mi NitroKeyPro para ser insertado en mi ordenador en absoluto para la autenticación para tener éxito.

Tengo la sensación de que al exportar mi clave de alguna manera se añadió a mi almacenamiento de claves locales haciendo que el NitroKey redundante, pero no estoy lo suficientemente informado sobre el funcionamiento exacto para estar seguro.

¿Alguien podría ayudarme a garantizar que sólo puedo acceder por SSH a mi servidor web mientras mi NitroKey está insertada en mi ordenador?

Notas:

  • OS: OSX El Capitan 10.11.4
  • NitroKeyPro
  • Incluso mientras la NitroKey está insertada en mi ordenador NO me pide que introduzca un pin cuando intento SSH.
  • OpenSC 0.15.0
  • gpg 2.0.28

He intentado eliminar de ~/.ssh lo siguiente:

id.rsa
private_key.pem

después de intentar SSH a mi servidor web de nuevo me sale:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Supongo que esto indica que la sesión SSH no puede encontrar mi clave para autenticar con, he comprobado si mi equipo estaba detectando el NitroKey ejecutando:

gpg --estado-tarjeta

y recibí la información de la tarjeta como era de esperar.

1voto

Where's my... Puntos 1

Al parecer, uno de los secretos mejor guardados de macOS es que soporta de forma nativa PKCS11 por sí mismo al menos en las versiones más recientes del sistema operativo.

Por lo tanto, todas las sugerencias de utilizar opensc son generalmente exageradas (pero, oye, si lo necesitas o lo quieres, es una gran herramienta).

Consulte la página man de MacOS para ssh-keychain (o en manpagez.com ). Usted encontrará que ssh utilizando la autenticación SmartCard sorprendentemente sólo necesita una línea de configuración en su ~/.ssh/config archivo:

PKCS11Provider /usr/lib/ssh-keychain.dylib

La primera vez que intenté conectarme mediante ssh a mi host remoto, pareció tardar un poco, pero las conexiones posteriores fueron rápidas al pedirme el PIN.

La cantidad de excavación para encontrar que una línea ¡era ciertamente no trivial!


Para los webcrawlers, porque no los he encontrado saber estos términos son en gran parte sinónimos:
SmartCard - Alias: tarjeta inteligente, PIV, CAC

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X