glab ssh-key
Overview
Manage SSH keys registered with your GitLab account.
USAGE
glab ssh-key <command> [command] [--flags]
COMMANDS
add [key-file] [--flags] Add an SSH key to your GitLab account.
delete [<key-id>] [--flags] Deletes a single SSH key specified by the ID.
get [<key-id>] [--flags] Returns a single SSH key specified by the ID.
list [--flags] Get a list of SSH keys for the currently authenticated user.
FLAGS
-h --help Show help for this command.
-R --repo Select another repository. Can use either `OWNER/REPO` or `GROUP/NAMESPACE/REPO` format. Also accepts full URL or Git URL.
⚠️ Security Warning: Public Keys Only
Always verify you are uploading a PUBLIC key, not a private key.
- ✅ Public keys:
~/.ssh/id_rsa.pub,~/.ssh/id_ed25519.pub(.pubextension) - ❌ Private keys:
~/.ssh/id_rsa,~/.ssh/id_ed25519(no extension — NEVER upload these)
Uploading a private key to GitLab would expose your credentials. Double-check the filename before running glab ssh-key add.
# ✅ Safe — public key
glab ssh-key add ~/.ssh/id_ed25519.pub --title "My Laptop"
# ❌ NEVER do this — private key
# glab ssh-key add ~/.ssh/id_ed25519 --title "My Laptop"
Before uploading, verify your key is public:
# Should start with 'ssh-rsa', 'ssh-ed25519', 'ecdsa-sha2-*', etc.
head -c 20 ~/.ssh/id_ed25519.pub
Quick start
glab ssh-key --help
Structured output
glab ssh-key list and glab ssh-key get support --output json / -F json for structured output, which is useful for agent automation.
# List SSH keys with JSON output
glab ssh-key list --output json
glab ssh-key list -F json
# Get a specific SSH key with JSON output
glab ssh-key get <key-id> --output json
glab ssh-key get <key-id> -F json
Subcommands
See references/commands.md for full --help output.