Autenticación basada en clave SSH usando tarjeta inteligente

2

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 administración de claves, he estado acostumbrado a almacenar mis claves dentro de los archivos de claves en mi computadora. Recientemente, quería probar y ver si podía configurar la autenticación SSH en mi servidor web utilizando una clave almacenada en mi NitroKeyPro, haciendo que mi llavero sea más portátil y seguro en el proceso.

Seguí esta guía http://xmodulo.com/linux-security-with-nitrokey-usb-smart-card.html bastante paso a paso, pero noté que al final, no necesitaba que mi NitroKeyPro se inserte en mi computadora para que la autenticación tenga éxito.

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

¿Alguien podría ayudarme a garantizar que solo pueda SSH en mi servidor web mientras mi NitroKey está insertada en mi computadora?

Notas:

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

Traté de eliminar ~/.sshlo siguiente:

id.rsa
private_key.pem

después de intentar SSH a mi servidor web nuevamente obtengo:

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

Supongo que esto indica que la sesión SSH no puede encontrar mi clave para autenticar, verifiqué si mi computadora estaba detectando la NitroKey ejecutando:

gpg --card-status

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

MSB
fuente
¿No hay nadie que tenga experiencia con OSX y tarjetas inteligentes que pueda arrojar algo de luz sobre esto?
MSB