このドキュメントでは、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 に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
制限事項
- セキュリティ キーが有効にされている VM は、Google アカウントに登録されている物理的なセキュリティ キーにアタッチされている SSH 認証鍵からの接続のみを受け入れます。
接続先の 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-
コマンドから出力が返されない場合、ご使用の環境はセキュリティ キーをサポートしていません。
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
に設定します。
[メタデータ] ページに移動します。
[編集] をクリックします。
[項目を追加] をクリックします。
- [キー] フィールドに「
enable-oslogin
」と入力します。 - [値] に「
TRUE
」と入力します。
- [キー] フィールドに「
[項目を追加] をクリックします。
- [キー] フィールドに「
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
に設定します。
[VM インスタンス] ページに移動します。
セキュリティ キーを有効にする VM の名前をクリックします。
[編集] をクリックします。
[カスタム メタデータ] セクションで [項目を追加] をクリックします。
- [キー] フィールドに「
enable-oslogin
」と入力します。 - [値] に「
TRUE
」と入力します。
- [キー] フィールドに「
[項目を追加] をクリックします。
- [キー] フィールドに「
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 に接続するには、次の操作を行います。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
VM のリストで、接続する VM の行にある [SSH] をクリックします。
メッセージが表示されたら、セキュリティ キーをタッチします。
gcloud
gcloud CLI を使用して VM に接続すると、gcloud CLI によってセキュリティ キーに関連付けられた秘密鍵が取得され、秘密鍵ファイルが構成されます。この構成は永続的なもので、セキュリティ キーを使用するすべての VM に適用されます。
gcloud beta compute ssh
コマンドを使用して、セキュリティ キーが有効化されている VM に接続します。
gcloud beta compute ssh VM_NAME
サードパーティ製ツール
セキュリティ キーが有効になっている VM に接続する前に、セキュリティ キーに関連付けられている秘密鍵を取得し、秘密鍵ファイルを構成する必要があります。この例では、Python クライアント ライブラリを使用して構成を行います。
この構成は、VM に初めて接続するときだけ行う必要があります。この構成は永続的なもので、プロジェクトのセキュリティ キーを使用するすべての VM に適用されます。
ワークステーションのターミナルから、次のようにします。
まだ 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 を管理する方法を確認する。