
Windows 10 20H2, compilação 19042.685
Estou tentando usar o agente SSH no cliente OpenSSH integrado no Windows 10. O agente está em execução:
C:\Users\Daniel> Get-Service | ?{$_.Name -like '*ssh-agent*'}
Status Name DisplayName
------ ---- -----------
Running ssh-agent OpenSSH Authentication Agent
No entanto, ssh-add
ainda está gerando o mesmo erro:
C:\Users\Daniel> ssh-add C:\Users\Daniel\.ssh\id_ed25519
Error connecting to agent: No such file or directory
Alguma ideia?
Responder1
Descobri que algo no Windows10 está definindo o caminho para o agente ssh como um env-var, mas não consigo lidar com espaços nos nomes das pastas. Alguém se esqueceu de escapar de suas entradas! (AAAAAAARRRRGGGGH!).
Para testar: (no git-bash, que estou usando atualmente)
echo "$(ssh-agent)"
... fornece o que seu ambiente configurou (no meu caso: estupidamente) sobre como ele encontrará/acessará o ssh-agent. Eu obtive:
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;
...Veja! Alguém esqueceu que as pastas podem ter espaços e não se preocupou em escapar de suas entradas (a primeira linha está corrompida, inclui o comando "exportar").
Reexportar essa variável de ambiente corretamente (coloque "/d/...YYYY" entre aspas simples, remova o ";" final e remova a parte "exportar SSH_AUTH_SOCK;") faz com que o ssh-agent funcione corretamente novamente.