Estou tentando usar o ssh-agent para permitir o uso sem senha de uma chave SSH ED25519 com uma senha para assinar um commit do git.
No entanto, sempre que faço um commit pela linha de comando, a senha é solicitada. Acredito que seja um problema de configuração, pois o Visual Studio está funcionando como esperado, mas não a linha de comando ou o VS Code.
Estou usando o ambiente padrão do Windows, não Git Bash ou WSL.
- ssh-agent está configurado para ser executado na inicialização e verificado
ssh-add -l
mostra que a chave correta foi adicionada- Eu configurei
GIT_SSH
para C:\Windows\System32\OpenSSH\ssh.exe
Configuração do Git
core.sshCommand = C:/Windows/System32/OpenSSH/ssh.exe
signingkey
é definido como a chave adicionada assh-agent
commit.gpgsign = true
gpg.format = ssh
SO Windows 10 22H2 git 2.49.0.windows.1 Terminal 1.22.10731.0 Powershell 7.5.0
A assinatura usando chaves SSH não envolve
ssh.exe
– ela usassh-keygen.exe
.Executar o Git para Windows de qualquer forma incluirá o ambiente "Git Bash" em $PATH (já que, entre outras coisas, ele fornece ferramentas que alguns subcomandos do Git ainda exigem), então o ssh-keygen que está sendo executado é a compilação MingW OpenSSH que não sabe como se comunicar com seu ssh-agent OpenSSH do Win32 (o conceito de "soquetes Unix" foi portado de duas maneiras ligeiramente incompatíveis).
Você também precisa definir
gpg.ssh.program
para apontar para o executável ssh-keygen correto.