このドキュメントでは、Google アカウントに登録されている物理的なセキュリティ キーを使用して、OS Login を使用する仮想マシン(VM)インスタンスに接続する方法について説明します。
物理的なセキュリティ キーを使用して、VM に接続するための SSH 秘密鍵ファイルを生成します。Google Cloud コンソールのブラウザでの SSH ツールまたは Google Cloud CLI を使用している場合、セキュリティ キーを使用して VM に接続すると、OS Login はセキュリティ キーに関連付けられている秘密 SSH 認証鍵ファイルを取得し、SSH 認証鍵ファイルを構成します。サードパーティ ツールを使用して接続する場合は、OS Login API を使用して SSH 認証鍵情報を取得し、SSH 認証鍵ファイルをご自身で構成する必要があります。
準備
- Google アカウントにセキュリティ キーを追加します。
- OS Login を設定します。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud のサービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- セキュリティ キーが有効にされている VM は、Google アカウントに登録されている物理的なセキュリティ キーにアタッチされている SSH 認証鍵からの接続のみを受け入れます。
- Cloud Shell を使用して、セキュリティ キーが有効になっている VM に接続することはできません。
接続先の VM と接続元のワークステーションの両方で、セキュリティ キーの SSH タイプをサポートする OpenSSH 8.2 以降のバージョンを使用する必要があります。次の Compute Engine VM オペレーティング システムはセキュリティ キーをサポートしています。
- Debian 11(またはそれ以降)
- SUSE Linux Enterprise Server(SLES)15(またはそれ以降)
- Ubuntu 20.04 LTS(またはそれ以降)
- Container-Optimized OS 93 LTS(またはそれ以降)
- Rocky Linux 9(またはそれ以降)
ご使用の環境がセキュリティ キーをサポートしているかどうかを確認するには、次のコマンドを実行します。
ssh -Q key | grep ^sk-
コマンドから出力が返されない場合、ご使用の環境はセキュリティ キーをサポートしていません。
接続元のワークステーションの SSH クライアントは、セキュリティ キーをサポートし、必要なライブラリ(
libfido2
など)を含める必要があります。[メタデータ] ページに移動します。
[編集] をクリックします。
[項目を追加] をクリックします。
- [キー] フィールドに「
enable-oslogin
」と入力します。 - [Value] に「
TRUE
」と入力します。
- [キー] フィールドに「
[項目を追加] をクリックします。
- [キー] フィールドに「
enable-oslogin-sk
」と入力します。 - [Value] に「
TRUE
」と入力します。
- [キー] フィールドに「
[保存] をクリックします。
[VM インスタンス] ページに移動します。
セキュリティ キーを有効にする VM の名前をクリックします。
[編集] をクリックします。
[カスタム メタデータ] セクションで [項目を追加] をクリックします。
- [キー] フィールドに「
enable-oslogin
」と入力します。 - [Value] に「
TRUE
」と入力します。
- [キー] フィールドに「
[項目を追加] をクリックします。
- [キー] フィールドに「
enable-oslogin-sk
」と入力します。 - [Value] に「
TRUE
」と入力します。
- [キー] フィールドに「
[保存] をクリックします。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
VM のリストで、接続する VM の行にある [SSH] をクリックします。
メッセージが表示されたら、セキュリティ キーをタッチします。
まだ Python 用の Google クライアント ライブラリをインストールしていない場合は、次のコマンドを実行してインストールします。
pip3 install google-api-python-client
次のサンプル Python スクリプトを保存します。このスクリプトでは、セキュリティ キーに関連付けられた秘密鍵を取得し、秘密鍵ファイルを構成して VM に接続します。
スクリプトを実行して鍵を構成し、必要に応じて VM に接続します。
python3 SCRIPT_NAME.py --user_key=USER_KEY --ip_address=IP_ADDRESS [--dryrun]
次のように置き換えます。
SCRIPT_NAME
: 構成スクリプトの名前。USER_KEY
: メインのメール アドレス。IP_ADDRESS
: 接続先の VM の外部 IP アドレス。[--dryrun]
: (省略可)--dryrun
フラグを追加して、VM に接続せずに接続コマンドを出力します。このフラグを指定しない場合は、スクリプトは接続コマンドを実行します。
- 2 段階認証プロセスを使用して OS Login を設定する方法を学習する。
- 組織で OS Login を管理する方法を確認する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
制限事項
OS Login でセキュリティ キーを有効にする
プロジェクトで OS Login を使用するすべての VM または単一の VM に対してセキュリティ キーの使用を有効にできます。
OS Login が有効になっているプロジェクト内のすべての VM のセキュリティ キーを有効にする
プロジェクト内の OS Login を使用するすべての VM でセキュリティ キーを有効にするには、Google Cloud コンソールまたは gcloud CLI を使用します。
コンソール
OS Login が有効になっているすべての VM のセキュリティ キーを有効にするには、Google Cloud コンソールを使用して、プロジェクトのメタデータで
enable-oslogin
とenable-oslogin-sk
をTRUE
に設定します。gcloud
OS Login が有効になっているすべての VM のセキュリティ キーを有効にするには、
gcloud compute project-info add-metadata
コマンドを使用してプロジェクトのメタデータでenable-oslogin=TRUE
とenable-oslogin-sk=TRUE
を設定します。gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
OS Login が有効になっている単一の VM でセキュリティ キーを有効にする
OS Login を使用する 1 つの VM でセキュリティ キーを有効にするには、Google Cloud コンソールまたは gcloud CLI を使用します。
コンソール
単一の VM でセキュリティ キーを有効にするには、Google Cloud コンソールを使用して、インスタンスのメタデータで
enable-oslogin
とenable-oslogin-sk
をTRUE
に設定します。gcloud
1 つの VM でセキュリティ キーを有効にするには、
gcloud compute instances add-metadata
コマンドを使用して、インスタンス メタデータにenable-oslogin=TRUE
とenable-oslogin-sk=TRUE
を設定します。gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
VM_NAME
は実際の VM 名に置き換えます。セキュリティ キーを使用して VM に接続する
セキュリティ キーを使用する VM に接続するには、Google Cloud コンソール、gcloud CLI、またはサードパーティ ツールを使用します。Google Cloud コンソールまたは gcloud CLI を使用して VM に接続すると、Compute Engine によって SSH 認証鍵が自動的に構成されます。サードパーティのツールを使用して VM に接続する場合は、構成を自分で行う必要があります。
コンソール
Google Cloud コンソールのブラウザでの SSH ツールを使用して VM に接続すると、ブラウザでの SSH がセキュリティ キーに関連付けられた秘密鍵を取得します。
セキュリティ キーが有効になっている VM に接続するには、次の操作を行います。
gcloud
gcloud CLI を使用して VM に接続すると、gcloud CLI によってセキュリティ キーに関連付けられた秘密鍵が取得され、秘密鍵ファイルが構成されます。この構成は永続的なもので、セキュリティ キーを使用するすべての VM に適用されます。
gcloud beta compute ssh
コマンドを使用して、セキュリティ キーが有効化されている VM に接続します。gcloud beta compute ssh VM_NAME
サードパーティ製ツール
セキュリティ キーが有効になっている VM に接続する前に、セキュリティ キーに関連付けられている秘密鍵を取得し、秘密鍵ファイルを構成する必要があります。この例では、Python クライアント ライブラリを使用して構成を行います。
この構成は、VM に初めて接続するときだけ行う必要があります。この構成は永続的なもので、プロジェクトのセキュリティ キーを使用するすべての VM に適用されます。
ワークステーションのターミナルから、次のようにします。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-05 UTC。
-