An interactive CLI wizard to configure SSH-based commit signing for Git — with optional 1Password integration.
SSH signing is simpler than GPG: it uses the same SSH keys you already have, no separate keychain required.
brew tap ismaels/gss-tap
brew install git-ssh-signOr build from source:
go install github.com/ismaels/git-ssh-sign@latestgit-ssh-sign setupThe wizard will:
- Detect your git version and email
- Check for 1Password SSH agent
- Let you choose or paste a public key
- Preview all git config changes before applying
- Update
~/.ssh/allowed_signers - Optionally run a test commit
git-ssh-sign verifyChecks all required settings and reports any that are missing or misconfigured.
| Git config key | Value |
|---|---|
gpg.format |
ssh |
user.signingkey |
your public key |
commit.gpgsign |
true |
tag.gpgsign |
true |
gpg.ssh.allowedSignersFile |
~/.ssh/allowed_signers |
gpg.ssh.program |
1Password binary (if detected) |
If 1Password is installed with its SSH agent active, the wizard automatically configures gpg.ssh.program to route signing through the 1Password agent — giving you biometric approval per commit.
Add your public key to GitHub as a Signing Key:
Settings → SSH and GPG keys → New SSH key → Key type: Signing Key
Commits will show as Verified on GitHub.
git clone https://github.com/ismaels/git-ssh-sign.git
cd git-ssh-sign
go build ./...
go run . setup # or: go run . verifyRun tests:
go test -race ./...Submit a PR against main. CI must pass before merging.
MIT