%3F.png)
He configurado miCuenta de GitHub para usar U2Fusando Yubikey (todo en SSH) pero como también uso unIndicador de bash de Git, por lo que cada vez que uso mi terminal, se me solicita que toque mi clave de seguridad.
No entiendo muy bien la relación entre las credenciales SSH, la clave y el estándar FIDO U2F, por lo que no estoy seguro de cómo configurar mi entorno para que deje de avisarme cada vez que uso mi terminal.
¿Puedo configurarlo para que solo pregunte, digamos una vez al día, o una vez por sesión o algo así?
Respuesta1
En primer lugar, U2F esno almacenable en caché por diseño. No es simplemente una contraseña; Es un protocolo de desafío/respuesta, en el que el token recibe un 'desafío' diferente cada vez y emite firmas digitales sinalguna vezrevelando sus claves secretas a la PC (básicamente como una tarjeta inteligente). Ahí es donde radica su principal fortaleza.
Lo mismo se aplica a las clásicas contraseñas de un solo uso de Yubikey. Como su nombre lo dice, sonuna vez, y el servidor nunca aceptará la misma contraseña más de una vez, ni ninguna contraseña anterior a una ya aceptada.
Dicho esto, hay dos cosas que puedes hacer:
Primero, averigüe qué le solicita las credenciales, porque definitivamente esnoSSH. El apoyo de U2Fparchesaún no se ha fusionado con OpenSSH y nunca ha solicitado ninguna entrada interactiva; solo usa pares de claves SSH, no contraseña+2fa.
ssh [email protected]
De manera similar, si en realidad estás presionando HTTPS y no SSH, hasta donde yo sé, todavía no hay integración U2F en la autenticación HTTP, por lo que, como máximo, se te pedirá el código de 6 dígitos.
Si tiene un Yubikey de tamaño completo, verifique si la luz parpadea cuando se le solicita. Solo parpadea cuando espera la confirmación U2F; si está fijo, enviará una contraseña única clásica. Y si puedesverYubikey escribe una contraseña larga, eso no es U2F.
En segundo lugar, para SSHen general, puede habilitar la función de multiplexación/caché de conexión de OpenSSH. Después de iniciar sesión en un servidor, OpenSSH mantendrá activa esa conexión durante varios minutos incluso después de cerrar el shell remoto (es decir, incluso después de que Git finalice sus transferencias).
Para hacer eso, coloque lo siguiente en su
~/.ssh/config
:Host * ControlMaster auto ControlPath ~/.ssh/S.%r@%h:%p ControlPersist 5m
(Las versiones anteriores de OpenSSH no son compatibles con ControlPersist, por lo que puede conservar las otras dos opciones, pero deberá iniciar la conexión manualmente con ).
ssh -fNM [email protected]