SSH signed commits stay "Unverified" even though SSH key and email are correctly registered #185945
Select Topic AreaBug BodyHi, I’m seeing an issue with SSH signed commits not being marked as “Verified” on GitHub, even though the SSH key and email are correctly set up on my account. Setup git config --global user.name "FrostCore"
git config --global user.email "frostcore.dev@proton.me"
git config --global gpg.format ssh
git config --global user.signingkey /home/jorge/.ssh/id_ed25519.pub
git config --global commit.gpgsign trueMy SSH signing key on WSL: ssh-keygen -y -f ~/.ssh/id_ed25519
# -> ssh-ed25519 AAAAC3N... frostcore.dev@proton.meIn GitHub → Settings → SSH and GPG keys → SSH keys I have:
If I edit that key in the UI, the stored public key is exactly the same line that ssh-keygen -y -f ~/.ssh/id_ed25519 prints (redacted here as ssh-ed25519 AAAAC3N... frostcore.dev@proton.me). The email frostcore.dev@proton.me is verified on my account (Shows as “Verified” in Settings → Emails). Example signed commit git commit --allow-empty -S -m "test: ssh verified"
git pushOn my local machine: git log -1 --show-signatureshows: So Git verifies the signature, and the ED25519 key fingerprint SHA256:pDF/BFyak9qh7EKmrGvzUSBP+/P1iGa8j6iNyjTmYBY matches the fingerprint of the SSH key registered on my account. Problem in the GitHub UI This is confusing because:
From the docs for “About commit signature verification” and “Displaying verification statuses for all of your commits”, I would expect these SSH-signed commits to be marked as Verified – Signed with SSH, not Unverified. Question If helpful, I can provide:
Thanks in advance for looking into this. |
Replies: 4 comments 1 reply
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
|
GitHub has separate authentication keys and signing keys, and it looks like you only have an authentication key set up right now. Go to Settings → SSH and GPG keys (the same page your key is already on) and add a new SSH key. In the dropdown, change Authentication key to Signing key. You can reuse the same public key if you want, and once it’s added, SSH-signed commits should immediately show as verified. Note: If you use the same public key, all the old commits that are currently unverified should update to verified. |
|
your key is added on GitHub as an Authentication key In the Github settings go to SSH and GPG keys |
|
Thanks a lot, that solved it. I added the same SSH public key as a Signing key in Settings → SSH and GPG keys and now all my SSH-signed commits show as Verified (including the old ones). Really appreciate the help @nathan-probert @ben-24-0 ! |



GitHub has separate authentication keys and signing keys, and it looks like you only have an authentication key set up right now. Go to Settings → SSH and GPG keys (the same page your key is already on) and add a new SSH key. In the dropdown, change Authentication key to Signing key. You can reuse the same public key if you want, and once it’s added, SSH-signed commits should immediately show as verified.
Note: If you use the same public key, all the old commits that are currently unverified should update to verified.