ssh-key-management について
Acquia Cloud の SSH キーを管理するスキルです。IDE、サーバー、リポジトリ、CI/CD のアクセス設定に向け、キーの作成、登録、確認、一覧表示、削除を扱います。
主な機能
- 01SSH キーの作成とアップロード
- 02キーとフィンガープリントの一覧
- 03登録済みキーの確認と削除
- 04IDE の SSH アクセス設定
- 05CI/CD 用キーの準備
活用シーン
- 01Acquia IDE の SSH アクセス設定
- 02既存の公開鍵の登録
- 03アカウント内の古いキーの削除
- 04CI/CD 用 SSH 認証の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ acquia/ acquia-skills --skill ssh-key-managementインストール後、Claude Code で/ssh-key-managementを入力して読み込まれたか確認します。
詳細
SSH キーの管理
以下の場合に使用します:
- Acquia Cloud 用の SSH キーを追加または生成する場合
- SSH キーを一覧表示または削除する場合
- IDE や CI/CD パイプライン用に SSH アクセスを設定する場合
SSH キーを使うと、パスワードを入力せずに Acquia Cloud のリソースに安全に認証できます。
SSH キーを使う理由
SSH キーを使うと、次のことができます:
- パスワードを入力せずに IDE に安全にアクセスする
- リポジトリにコードをプッシュする
- サーバー上でリモートコマンドを実行する
- スクリプトや CI/CD パイプラインでデプロイを自動化する
SSH キーを一覧表示する
すべての SSH キーを表示する
acli ssh-key:list
出力:
SSH Keys for your account:
[0] My Laptop (generated 2024-01-15)
Fingerprint: ab:cd:ef:12:34:56:78:90
[1] Work Desktop (generated 2024-02-01)
Fingerprint: 11:22:33:44:55:66:77:88
IDE ごとにキーを一覧表示する
acli ide:ssh-key:list
新しい SSH キーを生成する
対話形式で SSH キーを作成する
acli ssh-key:create
これにより、次の処理が行われます:
- ラベルの入力を求められます(例:「My Laptop」、「CI Server」)
- 公開鍵と秘密鍵のペアが生成されます
- 公開鍵が Acquia アカウントに保存されます
- 秘密鍵がローカルに保存されます(通常は
~/.ssh/id_rsa)
例:
$ acli ssh-key:create
? Enter a label for this SSH key: My Laptop
✓ SSH key created!
Public key added to your account.
Private key saved to: ~/.ssh/id_rsa
Fingerprint: ab:cd:ef:12:34:56:78:90
注意: ラベルの入力は、キーが生成され、Acquia アカウントに永続的に追加される直前の最後の手順です。Enter キーを押す前に、ラベルが正しいことを確認してください。
既存の SSH キーをアップロードする
すでに SSH キーがある場合は、再生成せずにアップロードできます:
acli ssh-key:upload --filepath ~/.ssh/id_rsa.pub --label "Existing Key"
または、対話形式で実行します:
acli ssh-key:upload
キー ファイルの選択とラベルの入力を求められます。
伝播の完了を待たずに進める
デフォルトでは、acli はキーがすべてのサーバーに伝播するまで待機します。次の方法で待機を省略できます:
acli ssh-key:upload --filepath ~/.ssh/id_rsa.pub --label "My Key" --no-wait
1 つの手順で作成してアップロードする
ローカルで新しいキーを生成し、1 つのコマンドで Cloud Platform にアップロードします:
acli ssh-key:create-upload
オプション:
acli ssh-key:create-upload \
--filename=my_key \
--password="" \
--label="My New Key" \
--no-wait
SSH キーを確認する
フィンガープリントを指定して、特定のキーの詳細を取得します:
acli ssh-key:info --fingerprint="ab:cd:ef:12:34:56:78:90"
削除する前に、どのキーが登録されているかを確認するのに便利です。
SSH キーを削除する
アカウントからキーを削除する
acli ssh-key:delete
削除するキーを選択するよう求められます:
? Select the SSH key to delete: [0] My Laptop
? Delete "My Laptop"? (yes/no)
✓ SSH key deleted.
非対話形式で削除する
acli ssh-key:delete --public-key "ab:cd:ef:12:34:56:78:90"
IDE で SSH キーを使用する
IDE に SSH 接続する
SSH キーを設定したら、IDE に接続できます:
# Note: Use the IDE ides-hostname, not the web URL
ssh -i ~/.ssh/id_rsa [email protected]
IDE で SSH 経由の git を設定する
パスワード認証が必要な HTTPS を使う代わりに、SSH を使います:
# Configure your IDE's Git to use SSH
git remote set-url origin [email protected]:yourorg/yourrepo.git
# Now push without entering a password
git push origin main
他のシステム用に公開鍵をエクスポートする
# Show your public key
cat ~/.ssh/id_rsa.pub
# Copy it to GitLab, GitHub, internal systems, etc.
ベストプラクティス
1. デバイスごとにキーを 1 つ作成する
マシンごとに別々のキーを作成します:
# Personal laptop
acli ssh-key:create --label "Personal MacBook"
# Work desktop
acli ssh-key:create --label "Work Desktop"
# CI/CD server
acli ssh-key:create --label "Jenkins CI Server"
2. 分かりやすいラベルを使う
# ✓ Good
acli ssh-key:create --label "2024 MacBook Pro - Home"
acli ssh-key:create --label "GitHub Actions CI"
# ✗ Bad
acli ssh-key:create --label "Key 1"
3. 古いキーを無効にする
使わなくなったキーを削除します:
acli ssh-key:delete
4. 秘密鍵を保護する
# Permissions should be 600 (read/write for owner only)
chmod 600 ~/.ssh/id_rsa
5. SSH エージェントを使う
macOS:
# Add to ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
Linux:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
応用:CI/CD 用の SSH
CI/CD パイプライン用のキーを生成する
acli ssh-key:create --label "GitHub Actions CI"
次に:
- 秘密鍵をコピーします
- CI/CD プロバイダーのシークレットに追加します(GitHub Secrets、GitLab CI/CD Variables など)
- CI スクリプトで使用します
GitHub Actions の例:
- name: Deploy to Acquia
uses: actions/checkout@v2
env:
SSH_KEY: ${{ secrets.ACQUIA_SSH_KEY }}
run: |
mkdir -p ~/.ssh
echo "$SSH_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
acli api:environments:code-switch <env-id> main
MEO (V3) サブスクリプション:
api:environments:code-switchの代わりにacli api:v3:environments:create-deployment <environmentId> true refs/heads/mainを使用してください(MEO Deployments を参照)。
関連トピック
- IDE Management — SSH キーを使って IDE にアクセスする
- Getting Started — 初期設定
- Troubleshooting