gdkg is a lightweight Go CLI tool for securely generating, managing, and revoking SSH Deploy Keys for GitHub repositories.
It automates deploy key workflows and ensures a clean, secure setup.
- ✅ Generate SSH deploy keys with a single command
- 🔁 Cleanly revoke deploy keys (including SSH config cleanup)
- 🔒 Uses modern
ed25519keys - 🧰 CLI mode and interactive TUI
- 📦 Small, portable binary with no dependencies
- ⚙️ Compatible with CI/CD pipelines and personal projects
Claude Code Trigger, you can have Claude Code create the deploy key for you so that you only have to add it to gihtub. Use a prompt to do this and adjust these {fields}. {Apps}= The folder where you saved the gdkg binary application. {git@github.com:UserName/AppName.git} = Change it so that your user and app name are correct.
Example of initialising an empty repository:
The next step is to initialise the repository. We have a special tool called gdkg that can be used to generate deploys. Look for it in the {Apps} folder. It should be there. Run it, create a deploy, give it to me, and I'll let you know when I've added it. You can already prepare everything.
I've already created a repository on GitHub at {git@github.com:UserName/AppName.git}. It's completely empty and now needs to be initialised. Give me the deploy key first.
⚠️ Be aware that when you use it like that, this means the deploy key is transmitted via the LLM provider! : Do not use it in critical projects; instead, create the deploy key manually if you want to be sure.
Requires Go 1.20
git clone https://github.com/GaboCapo/gdkg.git
cd gdkg
./build.sh
Binary will be available as ./gdkg.
Download the appropriate binary for your platform from the Releases section and place it in a directory of your choice.
Note: This is a console-based CLI tool and must be executed from a terminal or command prompt. Double-clicking will not work.
- Make the binary executable:
chmod +x gdkg-v1.0.0-linux-amd64- Run the application via terminal:
./gdkg-v1.0.0-linux-amd64- Console output will look like this:
=== GitHub Deploy Key Generator ===
1: Generate deploy key
2: Remove deploy key
3: Quit
Please select an option:
./gdkg
Menu guides you through:
- [1] Generate new deploy key
- [2] Revoke existing key
- [3] Exit
Default storage: ~/.ssh/gdkg
~/.ssh/gdkg/
├── config # SSH config file with host entries
├── my-repo_deploy-key # Private key
└── my-repo_deploy-key.pub # Public key (for GitHub)
config updates automatically on key creation.
- Ed25519 keys
- Deploy keys separated from main SSH folder
- SSH config only updated with necessary entries
- No data sent externally
MIT License © GaboCapo
Built to automate GitOps workflows no manual copy-paste needed.
🔐 This repo is pushed with a deploy key generated by this tool
Made with ❤️ in Go.