
glab-ssh-key
Manage SSH keys for GitLab account including add, list, and delete operations. Use when setting up SSH authentication, managing SSH keys, or configuring Git over SSH. Triggers on SSH key, add SSH key, SSH authentication, Git SSH.
- Installs
- 96
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/vince-winkintel/gitlab-cli-skills --skill glab-ssh-key- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads glab-ssh-key automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
glab ssh-key
Overview
Complete help from the verified release binary; immutable capture ID
5686d7484maps to the release and archive checksums inVERSION. Only trailing whitespace is removed; indentation, blank lines, wrapping, truncation, and product spelling are preserved.
Add, list, get, and delete the SSH keys associated with your account.
GitLab uses SSH keys to authenticate Git operations over SSH, and,
depending on each key's usage type, to verify signed commits.
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. You can use either OWNER/REPO or GROUP/NAMESPACE/REPO. The full URL or Git URL is also accepted.
⚠️ 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
Replace an existing key
GitLab rejects duplicate public-key fingerprints even when the registered key has expired. After confirming the authenticated account and the key to replace, use:
glab ssh-key add ~/.ssh/id_ed25519.pub --title "My Laptop" --expires-at 2027-01-01 --replace
--expires-at accepts both a date-only value such as 2027-01-01 (midnight UTC) and a full RFC 3339 timestamp such as 2027-01-01T00:00:00Z. The flag help shows the full timestamp form; the date-only example above is also accepted by the CLI parser.
--replace parses the public key, searches the current user's keys across pages for the same SHA256 fingerprint, deletes the match, and adds the supplied key with the requested title, usage type, and expiration. With no match it adds the key normally. There is no replacement confirmation prompt or rollback: if adding fails after deletion, the old key is already gone. Review the matching key before using this flag and keep another authorized access method available. This re-registers the same public key; it does not generate or rotate key material.
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.
FAQ
What does the glab-ssh-key skill do?
Manage SSH keys for GitLab account including add, list, and delete operations. Use when setting up SSH authentication, managing SSH keys, or configuring Git over SSH. Triggers on SSH key, add SSH key, SSH authentication, Git SSH.
How do I install glab-ssh-key?
Run npx skills add https://github.com/vince-winkintel/gitlab-cli-skills --skill glab-ssh-key in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/glab-ssh-key/ (personal) or .claude/skills/glab-ssh-key/ (project).
Which AI agents can use glab-ssh-key?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is glab-ssh-key safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains glab-ssh-key?
It is published by vince-winkintel in vince-winkintel/gitlab-cli-skills. It has 96 recorded installs.
More from vince-winkintel/gitlab-cli-skills
gitlab-cli-skills
vince-winkintel/gitlab-cli-skills
Comprehensive GitLab CLI (glab) command reference and workflows for all GitLab operations via terminal. Use when user mentions GitLab CLI, glab commands, GitLab automation, MR/issue management via CLI, CI/CD pipeline commands, Artifact Registry token exchange, repo operations, authentication setup, or any GitLab terminal operations. Routes to specialized sub-skills for auth, CI, MRs, issues, releases, repos, and 30+ other glab commands. Triggers on glab, GitLab CLI, GitLab commands, GitLab terminal, GitLab automation.
glab-mr
vince-winkintel/gitlab-cli-skills
Create, view, manage, approve, and merge GitLab merge requests. Use when working with MRs: creating from branches/issues, reviewing, approving, adding comments, resolving discussion threads, checking out locally, viewing diffs, rebasing, merging, or managing state. Triggers on merge request, MR, pull request, PR, review, approve, merge, resolve thread.
glab-ci
vince-winkintel/gitlab-cli-skills
Open the skill to read its SKILL.md instructions.
glab-api
vince-winkintel/gitlab-cli-skills
Make direct GitLab REST API calls for advanced queries and operations not covered by other glab commands. Use when accessing GitLab API endpoints directly, making custom API requests, or fetching data in JSON format. Triggers on API call, REST API, GitLab API, JSON query, advanced query.
glab-auth
vince-winkintel/gitlab-cli-skills
Open the skill to read its SKILL.md instructions.
glab-issue
vince-winkintel/gitlab-cli-skills
Create, view, update, and manage GitLab issues. Use when working with issue tracking, bug reports, feature requests, or task management. Operations include creating issues, listing with filters, viewing details, adding comments/notes, updating labels/assignees/milestones, closing/reopening, and board management. Triggers on issue, bug, task, ticket, feature request, list issues, create issue.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.