glab-ssh-key について
GitLab アカウントに関連付けられた SSH キーを管理する glab スキルです。キーの操作や指紋による置換、JSON 出力に対応し、公開鍵のみをアップロードするよう案内します。
主な機能
- 01キーの追加、一覧、取得、削除
- 02指紋が一致するキーの置換
- 03キーのタイトル、用途、有効期限の設定
- 04一覧と取得での JSON 出力
- 05秘密鍵のアップロードを避ける案内
活用シーン
- 01Git 操作用の公開鍵登録
- 02アカウントに紐づくキーの確認
- 03登録済みキーの置換
- 04エージェント自動化でのキー情報利用
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vince-winkintel/ gitlab-cli-skills --skill glab-ssh-keyインストール後、Claude Code で/glab-ssh-keyを入力して読み込まれたか確認します。
同梱ファイルreferences/commands.md
詳細
glab ssh-key
概要
検証済みリリースバイナリから取得した完全なヘルプです。不変のキャプチャ ID
5686d7484は、VERSION内のリリースおよびアーカイブのチェックサムに対応しています。末尾の空白のみを削除し、インデント、空行、折り返し、切り詰め、および製品名の表記はそのまま保持しています。
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.
⚠️ セキュリティ警告:公開鍵のみ
秘密鍵ではなく、公開鍵をアップロードしていることを必ず確認してください。
- ✅ 公開鍵:
~/.ssh/id_rsa.pub、~/.ssh/id_ed25519.pub(.pub拡張子) - ❌ 秘密鍵:
~/.ssh/id_rsa、~/.ssh/id_ed25519(拡張子なし。絶対にアップロードしないでください)
秘密鍵を GitLab にアップロードすると、認証情報が漏えいします。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"
アップロードする前に、鍵が公開鍵であることを確認してください:
# Should start with 'ssh-rsa', 'ssh-ed25519', 'ecdsa-sha2-*', etc.
head -c 20 ~/.ssh/id_ed25519.pub
クイックスタート
glab ssh-key --help
既存の鍵を置き換える
GitLab は、登録済みの鍵の有効期限が切れていても、重複する公開鍵のフィンガープリントを拒否します。認証済みアカウントと置き換える鍵を確認したうえで、次を実行してください:
glab ssh-key add ~/.ssh/id_ed25519.pub --title "My Laptop" --expires-at 2027-01-01 --replace
--expires-at には、2027-01-01 のような日付のみの値(UTC の午前 0 時)と、2027-01-01T00:00:00Z のような完全な RFC 3339 タイムスタンプのどちらも指定できます。フラグのヘルプには完全なタイムスタンプ形式が表示されますが、上記の日付のみの例も CLI パーサーで受け付けられます。
--replace は公開鍵を解析し、現在のユーザーの鍵をページをまたいで検索して、同じ SHA256 フィンガープリントの鍵を削除した後、指定されたタイトル、用途、期限で新しい鍵を追加します。一致する鍵がない場合は、通常どおり鍵を追加します。置き換えの確認プロンプトやロールバック機能はありません。削除後に追加が失敗した場合、古い鍵はすでに失われています。このフラグを使用する前に、一致した鍵を確認し、別の認証済みアクセス手段を確保してください。これは同じ公開鍵を再登録するものであり、鍵の生成やローテーションは行いません。
構造化出力
glab ssh-key list と glab ssh-key get は、構造化出力に --output json / -F json をサポートしています。エージェントの自動化に便利です。
# 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
サブコマンド
--help の完全な出力については、references/commands.md を参照してください。