
Windows 10 20H2, compilación 19042.685
Estoy intentando utilizar el agente SSH en el cliente OpenSSH integrado en Windows 10. El agente se está ejecutando:
C:\Users\Daniel> Get-Service | ?{$_.Name -like '*ssh-agent*'}
Status Name DisplayName
------ ---- -----------
Running ssh-agent OpenSSH Authentication Agent
Sin embargo, ssh-add
sigue arrojando el mismo error:
C:\Users\Daniel> ssh-add C:\Users\Daniel\.ssh\id_ed25519
Error connecting to agent: No such file or directory
¿Algunas ideas?
Respuesta1
Descubrí que algo en Windows10 está configurando la ruta al ssh-agent como env-var, pero no puede soportar espacios en los nombres de las carpetas. ¡Alguien se olvidó de escapar de sus entradas! (¡AAAAAAAARRRRGGGGH!).
Para probar: (en git-bash, que estoy usando actualmente)
echo "$(ssh-agent)"
... proporciona lo que su entorno ha configurado (en mi caso: estúpidamente) sobre cómo encontrará/accederá a ssh-agent. Obtuve:
SSH_AUTH_SOCK=/d/Windows10 Temporary Files/ssh-XXXXXXX/agent.YYYYY; export SSH_AUTH_SOCK;
SSH_AGENT_PID=54456; export SSH_AGENT_PID;
echo Agent pid 54456;
...¡Oh mira! Alguien olvidó que las carpetas pueden tener espacios y no se molestó en escapar de sus entradas (la primera línea está corrupta, incluye el comando "exportar").
Volver a exportar esa variable de entorno correctamente (envuelva "/d/...YYYY" con comillas simples, elimine el ";" final y elimine la parte "exportar SSH_AUTH_SOCK;") hace que ssh-agent vuelva a funcionar correctamente.