Autenticación basada en clave SSH usando Nitrokey

4

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 clave en mi computadora. Recientemente quise probar y ver si podía configurar la autenticación SSH en mi servidor web utilizando una clave almacenada en mi Nitrokey Pro, haciendo que mi llavero sea más portátil y seguro en el proceso.

Seguí esta guía bastante paso a paso, pero noté que en al final, no necesitaba que mi Nitrokey Pro se insertara en mi computadora para que la autenticación tuviera éxito.

Tengo la sensación de que al exportar mi clave, de alguna manera se agregó a mi almacenamiento de claves local, lo que hizo que Nitrokey fuera 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
  • Nitrokey Pro
  • Incluso cuando se inserta la Nitrokey en mi computadora, NO me pide que ingrese un pin cuando intento SSH.
  • OpenSC 0.15.0
  • gpg 2.0.28

Intenté eliminar de ~ / .ssh lo siguiente:

id.rsa
private_key.pem

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

  

Permiso denegado (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 el Nitrokey ejecutando:

  

gpg --card-status

y recibí la información de la tarjeta como esperaba.

    
pregunta MSB 25.04.2016 - 12:55
fuente

1 respuesta

3
  

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.

Si eso se hizo correctamente, no debería ser posible. Si la clave privada está almacenada en la "tarjeta inteligente", no debería ser exportable y para cada operación de clave privada, necesita esa tarjeta.

No tengo NitroKey y no conozco los componentes internos de las aplicaciones de nitrokey, por lo que hay pocos comandos que puedan aportar más luz:

  • Publique el registro devbug de su conexión usando la clave almacenada en las tarjetas: ssh -vvv server
  • ¿Cómo se ve el ssh-add -L ?
  • ¿Puede ver las claves en la "tarjeta inteligente" cuando ejecuta pkcs11-tool --login -O --module /path/to/usr/lib64/pkcs11/opensc-pkcs11.so ?
respondido por el Jakuje 09.03.2017 - 22:09
fuente

Lea otras preguntas en las etiquetas