¿Touch ID puede desbloquear una clave SSH personal?

15

¿Es posible usar el lector de huellas digitales Touch ID para desbloquear mi clave SSH?

Tengo una MacBook Pro con Touch Bar, y tengo una frase de contraseña de texto tradicional para mi clave SSH en este momento.

Me he dado cuenta de que no aparece un cuadro de diálogo del sistema que me pide mi frase de contraseña en 10.12, por lo que probablemente esto no sea una cosa, pero si pudiera hacerlo, sería INCREÍBLE.

Nate
fuente

Respuestas:

14

Actualización :

Una opción es agregar su clave SSH privada al llavero macOS, luego usar TouchID para la autenticación del llavero. Querrá usar ssh-add -K ~/.ssh/[your-private-key], sin embargo, en macOS 10.12 Sierra, la función debe habilitarse editando, editando ~/.ssh/configy agregando:

Host * (asterisk for all hosts or add specific host)
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile <key> (e.g. ~/.ssh/userKey)

Para más detalles, lea:

  1. Agregue permanentemente su clave privada a Keychain para que esté disponible automáticamente para SSH
  2. Guardar claves SSH en el llavero macOS Sierra

Original :

Actualmente, el desbloqueo de TouchID de una clave SSH no está disponible para macOS.

  1. El proyecto Xcode sudo-touchid muestra cómo construir una aplicación de línea de comandos que esté habilitada para TouchID y que pase a un cuadro de diálogo de contraseña. Se ejecuta en la MacBook Pro 2016 con Touch Bar. Sin embargo, es para sudo, no ssh. Esto indica que la idea es técnicamente factible.
  2. El cliente Prompt 2 SSH es compatible con TouchID, para iOS, no para macOS. Esto indica que las aplicaciones comparables pueden estar disponibles a partir de desarrolladores comerciales.
  3. Un desarrollador en línea comenzó un proyecto de envoltura táctil ssh hace unos meses, aunque es un trozo de proyecto vacío. Esto indica que otros pueden estar haciendo una pregunta similar a la suya.
JeremyDouglass
fuente
3
¿Puede explicar "luego usar Touch ID para la autenticación de llavero"? Si sigo tus pasos, no se me pide que me autentique en absoluto.
mniess
2

Ahora es posible usar Sekey , que es un agente SSH que permite a los usuarios autenticarse en servidores SSH UNIX / Linux utilizando el enclave seguro.

Douglas Soares de Andrade
fuente
0

Esto es algo tangencial a mi pregunta original, pero recientemente he estado usando y me gusta mucho Krypton , lo que me da algo muy parecido al desbloqueo de TouchID. Esta solución almacena la clave SSH en el enclave seguro de mi teléfono, y mi computadora y mi teléfono negocian a través de Bluetooth cuando uso la clave. Recibo una ventana emergente de confirmación en el teléfono y respondo después de desbloquear eso.

¡Entonces! Puedo hacer algo que funciona de manera similar, pero es (creo) un poco más seguro que almacenar la clave en mi computadora portátil (incluso con una frase de contraseña), bastante mejor que dejarlo descifrado en mi llavero, y muy útil para arrancar.

También funciona como un segundo factor U2F para los servicios web, utilizando un complemento de navegador.

Nate
fuente
-2

Puede escribir fácilmente un contenedor para traducir las llamadas de touchid a ssh y viceversa. Incluso traduzca aún más una posible coincidencia en una secuencia de rango (piense detenidamente pero con una pintura incompleta), no hay magia allí. Utilicé la cámara para eso antes, cuando touchid parecía una función tricorder de star trek :-)

¡Intenta hacer esa aplicación tú mismo, una buena motivación para aprender Swift! Apple tiene buenos documentos sobre todos sus SDK, por lo que después del dolor inicial de Xcode, puede hacerlo en pocos días.

Parece una buena idea usar la hazaña. incluso cuando todo el mundo le diga miles de millones de posibles riesgos de seguridad que son, bueno, posibles (como muchas otras cosas). Sin embargo, necesitará una cuenta de desarrollador (99 $ / año ...), dado que las aplicaciones autofirmadas no pueden acceder a todas las funcionalidades del SDK de macOS, touchID (posiblemente) no es accesible sin firmar.

PJJ
fuente