Cómo mantener la sesión de inicio de sesión de ssh-agent con los nuevos OpenSSH y PowerShell de Windows 10

16

En mi máquina Ubuntu, simplemente uso Keychain para mantener un solo agente ssh que permanece conectado.

Me gustaría algo similar a eso en Windows ahora que OpenSSH está incluido de forma nativa. Estaba usando Git Bash con el conocido if [ -z "$SSH_AUTH_SOCK" ] ; then ...script pero esto resultó en la apertura de muchos agentes ssh, sabía que no estaba recomendado (en parte debido a esta publicación de blog: http://rabexc.org/posts/pitfalls-of-ssh -agentes ), que es lo que me hizo obtener Keychain para Ubuntu. Otra razón para no usar esto más es que me estoy mudando a PowerShell como mi shell principal.

Pero no estoy seguro de cómo lograr el mismo tipo de cosas en Windows específicamente con PowerShell y con Win32-OpenSSH .

¡Gracias!

Southclaws
fuente

Respuestas:

13

Debe configurar el servicio OpenSSH Authentication Agent para que se inicie automáticamente (o puede iniciarlo manualmente cada vez que abra su PowerShell por primera vez: Start-Service ssh-agent).

Después de eso, ssh-add C:\path\to\your\ssh\key\id_rsasolo necesitas hacerlo una vez. Después de eso, cada vez que se inicia el agente ssh, la clave estará allí. Puedes consultar con ssh-add -l.

EDITAR: para que el agente SSH se inicie automáticamente con Windows, puede ejecutar Set-Service ssh-agent -StartupType Automaticun indicador de superusuario de PowerShell.

Davi Koscianski Vidal
fuente
¿Podría agregar detalles sobre cómo hacer que ssh-agent se inicie automáticamente?
Mark Woon,
@ MarkWoon Acabo de editar mi respuesta con eso.
Davi Koscianski Vidal
2
Esto no parece funcionar: el Set-Service no tiene ningún efecto aparente, y el Start-Service manual, aunque inicia algo, también es ineficaz: cualquier comando ssh-add luego falla con "falló la comunicación con el agente". .
Chris Dodd
* En el menú de inicio, busque "Servicios" * Haga doble clic en "Agente de autenticación de OpenSSH" * Establezca el tipo de inicio en "Automático" * Haga clic en "Inicio" * Haga clic en Aceptar y salir * * Ahora vaya a PowerShell y agregue su clave con "ssh -add "* Después de eso, el agente recordará su clave cuando la necesite :)
Esben Andersen