このドキュメントでは、ユーザーが VM から SSH 認証鍵を削除してブロックすることで、仮想マシン(VM)インスタンスにアクセスできないようにする方法について説明します。
始める前に
-
まだ設定していない場合は、認証を設定します。認証では、 Cloud de Confiance by S3NS サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Cloud de Confiance console to access Cloud de Confiance by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Google Cloud CLI をインストールし、連携 ID を使用して gcloud CLI にログインします。 ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init - Set a default region and zone.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールし、連携 ID を使用して gcloud CLI にログインします。 ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init詳細については、 Cloud de Confiance 認証ドキュメントの REST を使用して認証するをご覧ください。
SSH 認証鍵を削除する
プロジェクトまたはインスタンスのメタデータから公開 SSH 認証鍵を削除するには、Cloud de Confiance コンソール、gcloud CLI、または Compute Engine API を使用します。
特定ユーザーのメタデータから最後の鍵を削除するか、特定ユーザーのメタデータの最後の鍵の有効期限が切れると、Compute Engine は VM 上のユーザーの
~/.ssh/authorized_keysファイルを削除します。プロジェクト メタデータから公開鍵を削除する
プロジェクトのすべての VM へのアクセス権を削除するには、プロジェクトのメタデータから公開 SSH 認証鍵を削除します。
gcloud CLI と Compute Engine API を使用してメタデータから鍵を削除する場合は、既存の鍵のリストを取得します。次のセクションで説明するように、鍵のリストを編集して不要な鍵を削除してから、保持する鍵のリストで古い鍵を上書きする必要があります。
コンソール
Cloud de Confiance コンソールを使用してプロジェクト メタデータから公開 SSH 認証鍵を削除するには、次の操作を行います。
Cloud de Confiance コンソールで、[メタデータ] ページに移動します。
[SSH 認証鍵] タブをクリックします。
ページ上部の [編集] をクリックします。
削除する SSH 認証鍵に移動し、SSH 認証鍵の横にある 削除ボタンをクリックします。
削除する SSH 認証鍵ごとに、このステップを繰り返します。
[保存] をクリックします。
gcloud
gcloud CLI を使用してプロジェクト メタデータから公開 SSH 認証鍵を削除するには、次の操作を行います。
gcloud compute project-info describeコマンドを実行して、プロジェクトのメタデータを取得します。gcloud compute project-info describe
出力は次のようになります。
... metadata: ...
- key: ssh-keysvalue: |- cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"} ...ssh-keysメタデータ値をコピーします。ワークステーションで新しいテキスト ファイルを作成して開きます。
コピーした SSH 認証鍵のリストをファイルに貼り付け、プロジェクトのメタデータから削除する鍵を削除します。
ファイルを保存して閉じます。
gcloud compute project-info add-metadataコマンドを実行して、プロジェクト全体のssh-keys値を設定します。gcloud compute project-info add-metadata --metadata-from-file=ssh-keys=KEY_FILE
KEY_FILEを次のいずれかに置き換えます。- プロジェクトに既存の SSH 認証鍵がある場合は、前のステップで作成したファイルのパス
- プロジェクトに既存の SSH 認証鍵がない場合は、新しい公開 SSH 認証鍵ファイルのパス
REST
Compute Engine API を使用してプロジェクト メタデータから公開 SSH 認証鍵を削除するには、次の操作を行います。
projects.getメソッドを使用して、メタデータからfingerprintとssh-keysの値を取得します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
PROJECT_IDは、実際のプロジェクト ID に置き換えます。レスポンスは次の例のようになります。
... "fingerprint": "utgYE_XWtE8=", "items": [ { "key": "ssh-keys", "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}" } ] ...SSH 認証鍵の値のリストをコピーし、削除する鍵を削除します。
projects.setCommonInstanceMetadataを使用して SSH 認証鍵を削除します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS" } ] "fingerprint": "FINGERPRINT" }次のように置き換えます。
PROJECT_ID: プロジェクト IDEXISTING_SSH_KEYS: 保持する SSH 認証鍵のリストFINGERPRINT:projects.getリクエストのレスポンスからのfingerprintの値
インスタンス メタデータから公開 SSH 認証鍵を削除する
インスタンス メタデータから公開 SSH 認証鍵を削除して、単一の VM へのアクセス権を削除します。
gcloud CLI と Compute Engine API を使用してメタデータから鍵を削除する場合は、既存の鍵のリストを取得します。次のセクションで説明するように、鍵のリストを編集して不要な鍵を削除してから、保持する鍵のリストで古い鍵を上書きする必要があります。
コンソール
Cloud de Confiance コンソールを使用してインスタンス メタデータから公開 SSH 認証鍵を削除するには、次の手順を行います。
Cloud de Confiance コンソールで、[VM インスタンス] ページに移動します。
鍵を削除する VM の名前をクリックします。
[編集] をクリックします。
[SSH 認証鍵] セクションで、[表示して編集する] をクリックします。セクションが展開され、すべてのインスタンス レベルの公開 SSH 認証鍵が表示されます。
削除する SSH 認証鍵の横にある 削除ボタンをクリックします。
削除する SSH 認証鍵ごとに、このステップを繰り返します。
[保存] をクリックします。
gcloud
gcloud CLI を使用してインスタンス メタデータから公開 SSH 認証鍵を削除するには、次の操作を行います。
gcloud compute instances describeコマンドを実行して、VM のメタデータを取得します。gcloud compute instances describe VM_NAME
VM_NAME は、公開 SSH 認証鍵を追加または削除する必要がある VM の名前に置き換えます。
出力は次のようになります。
... metadata: ...
- key: ssh-keysvalue: |- cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"} ...ssh-keysメタデータ値をコピーします。ローカル ワークステーションで新しいテキスト ファイルを作成して開きます。
コピーした SSH 認証鍵のリストをファイルに貼り付け、不要な鍵を削除します。
ファイルを保存して閉じます。
gcloud compute project-info add-metadataコマンドを実行して、プロジェクト全体のssh-keys値を設定します。gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
次のように置き換えます。
VM_NAME: SSH 認証鍵を削除する VMKEY_FILE: すべてのプロジェクトの SSH 認証鍵のリストを含むファイルのパス
REST
Compute Engine API を使用してインスタンス メタデータから公開 SSH 認証鍵を削除するには、次の操作を行います。
instances.getメソッドを使用して、メタデータからfingerprintとssh-keysの値を取得します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
次のように置き換えます。
PROJECT_ID: プロジェクト IDZONE: SSH 認証鍵を追加する VM のゾーンVM_NAME: SSH 認証鍵を追加する VM
レスポンスは次の例のようになります。
... "fingerprint": "utgYE_XWtE8=", "items": [ { "key": "ssh-keys", "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}" } ] ...SSH 認証鍵の値のリストをコピーし、削除する鍵を削除します。
instances.setMetadataを使用して SSH 認証鍵を削除します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS } ] "fingerprint": "FINGERPRINT" }次のように置き換えます。
PROJECT_ID: プロジェクト IDEXISTING_SSH_KEYS:projects.getリクエストのレスポンスからのssh-keys鍵の値FINGERPRINT:instances.getリクエストのレスポンスからのfingerprintの値
メタデータ ベースの SSH 認証鍵を使用する VM からのプロジェクトの SSH 認証鍵をブロックする
プロジェクト メタデータに保存された SSH 認証鍵を VM が受け入れないようにするには、VM からのプロジェクトの SSH 認証鍵をブロックします。VM からのプロジェクトの SSH 認証鍵は、VM の作成時か VM の作成後にブロックできます。
VM 作成時にプロジェクトの SSH 認証鍵を VM からブロックする
プロジェクトの SSH 認証鍵は、VM の作成時に、Cloud de Confiance コンソール、gcloud CLI、または Compute Engine API を使用して VM からブロックできます。
コンソール
Cloud de Confiance コンソールでインスタンスを作成し、それがプロジェクト メタデータに保存された SSH 認証鍵を受け入れないようにするには、次の操作を行います。
Cloud de Confiance コンソールで [インスタンスの作成] ページに移動します。
プロジェクトの SSH 認証鍵をブロックするには、次の操作を行います。
ナビゲーション メニューで [セキュリティ] をクリックします。
[アクセスを管理] セクションを開きます。
OS Login を無効にするには、[IAM 権限で VM アクセスを制御する] チェックボックスをオフにします。
[プロジェクト全体の SSH 認証鍵をブロック] チェックボックスをオンにします。
省略可: その他の構成オプションを指定します。詳細については、インスタンス作成時の構成オプションをご覧ください。
インスタンスを作成して起動するには、[作成] をクリックします。
gcloud
gcloud CLI を使用して、VM を作成し、それがプロジェクト メタデータに保存された SSH 認証鍵を受け入れないようにするには、
gcloud compute instances createコマンドを使用します。gcloud compute instances create VM_NAME \ --metadata block-project-ssh-keys=TRUEVM_NAMEは新しい VM の名前で置き換えます。REST
VM を作成し、Compute Engine を使用してプロジェクト メタデータに保存されている SSH 認証鍵の受け入れをブロックするには、
instances.insertメソッドにPOSTリクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
次のように置き換えます。
PROJECT_ID: プロジェクト IDZONE: VM のゾーン
リクエストの本文で、
itemsプロパティにユーザー名と公開 SSH 認証鍵を入力します。... { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] } ...VM 作成後にプロジェクトの SSH 認証鍵を VM からブロックする
プロジェクトの SSH 認証鍵は、VM の作成後に、Cloud de Confiance コンソール、gcloud CLI、または Compute Engine API を使用して VM からブロックできます。
コンソール
Cloud de Confiance コンソールを使用して、プロジェクト メタデータに保存された SSH 認証鍵からの接続を VM が受け入れないようにするには、次の操作を行います。
Cloud de Confiance コンソールで、[VM インスタンス] ページに移動します。
プロジェクトの SSH 認証鍵をブロックする VM の名前をクリックします。
[編集] をクリックします。
[SSH 認証鍵] で、[プロジェクト全体の SSH 認証鍵をブロック] チェックボックスをオンにします。
SSH 認証鍵の接続設定の編集が終了したら、[保存] をクリックします。
gcloud
gcloud CLI を使用して、プロジェクト メタデータに保存された SSH 認証鍵からの接続を VM が受け入れないようにするには、次の操作を行います。
gcloud compute instances add-metadataコマンドを実行します。gcloud compute instances add-metadata VM_NAME --metadata block-project-ssh-keys=TRUE
VM_NAMEは、プロジェクト全体の公開 SSH 認証鍵をブロックする VM の名前に置き換えます。REST
Compute Engine API を使用して、プロジェクト メタデータに保存された SSH 認証鍵からの接続を VM が受け入れないようにするには、次の操作を行います。
instances.getメソッドを使用して、メタデータからfingerprintを取得します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
次のように置き換えます。
PROJECT_ID: プロジェクト IDZONE: SSH 認証鍵を追加する VM のゾーンVM_NAME: SSH 認証鍵を追加する VM
レスポンスは次の例のようになります。
... "fingerprint": "utgYE_XWtE8=" ...
instances.setMetadataメソッドを使用してblock-project-ssh-keysをTRUEに設定します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] "fingerprint": "FINGERPRINT" }次のように置き換えます。
PROJECT_IDはプロジェクト ID です。ZONEはインスタンスが配置されているゾーンです。INSTANCE_NAMEは、プロジェクト全体の認証鍵をブロックするインスタンスです。FINGERPRINT:instances.getリクエストのレスポンスから取得したfingerprintの値。
次のステップ
- 独自の SSH 認証鍵を管理する必要がないように、Google のツールを使用して VM に接続する。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-30 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-10-30 UTC。"],[],[]] -