When I sign commits or tags with my ssh key (git commit or git tag -s), git keeps asking for the passphrase of that key. However, I do not want to enter the passphrase for every commit.
I use two different keys for authentication and for signing. Both keys are added to the ssh-agent and I do not have to enter the passphrase for the authentication key. Therefore, the ssh-agent seems to work.
This is my git config:
[user]
signingkey = C:/Users/<username>/.ssh/id_ed25519_github_signing.pub
[core]
sshCommand = C:/Windows/System32/OpenSSH/ssh.exe
[gpg]
format = ssh
[commit]
gpgSign = true
[tag]
gpgSign = true
This is my ssh config, which only contains a config for the authentication key:
Host *
IdentitiesOnly yes
Host github.com
IdentityFile C:/Users/<username>/.ssh/id_ed25519_github
This is the ssh-add -L output:
ssh-ed25519 <authentication pub key> <username>@mail.com
ssh-ed25519 <signing pub key> <username>@mail.com
I already added the key to the ssh-agent and expected that I do not have to enter the passphrase anymore.
I also tried to use the authentication key for signing commits and then I also have to enter the passphrase for that key.
Could it be that git uses "its own" openssh for signing commits instead of window's openssh, even though I configured the ssh command?