Compute Engine は鍵ベースの SSH 認証を使用して、すべての Linux 仮想マシン(VM)インスタンスへの接続を確立します。必要に応じて、Windows VM で SSH を有効にできます。デフォルトでは、Linux VM のローカル ユーザーのパスワードは構成されていません。
VM に接続するには、いくつかの構成を実行する必要があります。Google Cloud コンソールまたは Google Cloud CLI を使用して VM に接続する場合、Compute Engine はこれらの構成をユーザーに代わって実行します。
メタデータ マネージド SSH 接続
では、Compute Engine はカスタム プロジェクトとインスタンス メタデータの両方またはどちらか一方を使用して SSH 認証鍵を構成し、SSH アクセスを管理します。VM に接続するために Google Cloud コンソール、gcloud CLI、またはサードパーティ製ツールを使用する場合、Compute Engine が SSH 接続を許可する前に、各タブをクリックして Compute Engine が実行する構成の詳細を確認します。Google Cloud コンソールまたは gcloud CLI を使用せずに VM に接続する場合は、一部の構成を自分自身で行う必要があります。
コンソール
- Google Cloud コンソールの SSH ボタンを使用して VM に接続します。
- Compute Engine は、ユーザー名を設定し、次の構成でエフェメラル SSH 認証鍵ペアを作成します。
- ユーザー名は、Google アカウントのユーザー名として設定されます。たとえば、Google アカウントに関連付けられているメールアドレスが
cloudysanfrancisco@gmail.com
の場合、ユーザー名はcloudysanfrancisco
です。 - 公開 SSH 認証鍵と秘密 SSH 認証鍵は、ブラウザ セッションに保存されます。
- SSH 認証鍵の有効期限は 3 分です。Compute Engine が鍵を作成して 3 分後に、SSH 認証鍵では VM に接続できなくなります。
- ユーザー名は、Google アカウントのユーザー名として設定されます。たとえば、Google アカウントに関連付けられているメールアドレスが
- Compute Engine が公開 SSH 認証鍵とユーザー名をメタデータにアップロードします。
- Compute Engine は、SSH 認証鍵とユーザー名をメタデータから取得してユーザー名でユーザー アカウントを作成し、Linux VM では、その公開鍵を VM 上にあるユーザーの
~/.ssh/authorized_keys
ファイルに格納します。Windows VM では、Compute Engine は VM に公開鍵を保存しません。 - Compute Engine が接続を許可します。
gcloud
gcloud compute ssh
コマンドを使用して VM に接続します。- Compute Engine は、ユーザー名を設定し、次の構成で永続的な SSH 認証鍵ペアを作成します。
- ユーザー名は、ローカルマシンのユーザー名として設定されます。
- 公開 SSH 認証鍵がプロジェクトのメタデータに保存されます。Compute Engine が SSH キーをプロジェクト メタデータに保存できない場合(例:
block-project-ssh-keys
がTRUE
に設定されている)、Compute Engine は SSH 認証鍵をインスタンス メタデータに保存します。 - 秘密 SSH 認証鍵はローカルマシンに保存されます。
- SSH 認証鍵に有効期限はありません。新しい鍵を構成しない限り、作成する今後のすべての SSH 接続にこの鍵が使用されます。
- ユーザー名は、ローカルマシンのユーザー名として設定されます。
- Compute Engine が公開 SSH 認証鍵とユーザー名をメタデータにアップロードします。
- Compute Engine は、SSH 認証鍵とユーザー名をメタデータから取得してユーザー名でユーザー アカウントを作成し、Linux VM では、その公開鍵を VM 上にあるユーザーの
~/.ssh/authorized_keys
ファイルに格納します。Windows VM では、Compute Engine は VM に公開鍵を保存しません。 - Compute Engine が接続を許可します。
サードパーティ製ツール
- SSH 認証鍵ペアとユーザー名を作成します。詳しくは、SSH 認証鍵を作成するをご覧ください。
- 公開鍵とユーザー名をメタデータにアップロードします。詳しくは、 メタデータ ベースの SSH 認証鍵を使用する VM に SSH 認証鍵を追加するをご覧ください。
- VM に接続します。
- Compute Engine は、SSH 認証鍵とユーザー名をメタデータから取得してユーザー名でユーザー アカウントを作成し、Linux VM では、その公開鍵を VM 上にあるユーザーの
~/.ssh/authorized_keys
ファイルに格納します。Windows VM では、Compute Engine は VM に公開鍵を保存しません。 - Compute Engine が接続を許可します。
次のステップ
- OS Login を使用しない場合のメタデータ内の SSH 認証鍵の管理。
- VM に接続する方法を学習する。
- 失敗した SSH 接続を診断し、解決するための方法やツールについては、SSH のトラブルシューティングをご覧ください。