インスタンスへの接続

このページでは、Compute Engine Linux インスタンスおよび Compute Engine Windows インスタンスに接続するための一般的な方法について説明します。

インスタンスに接続するその他の方法については、以下をご覧ください。

接続する前に、次の注意事項を確認してください。

Linux インスタンスに接続する

Google Cloud Platform Console または SDK の gcloud コマンドライン ツールを使用して Linux インスタンスに接続するには、以下のいずれかのタブに示されている手順を実行します。

基本的な SSH オプションでうまくいかない場合は、サードパーティ製ツールを使用してインスタンスに接続するか、外部 IP アドレスを持たないインスタンスに接続します。

Console

  1. GCP Console の [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 仮想マシン インスタンスのリストで、接続するインスタンスの行の [SSH] をクリックします。

    インスタンス名の横にある SSH ボタン。

gcloud

gcloud compute ssh コマンドを使用して、アクセス権限を持つインスタンスに接続します。

gcloud compute ssh --project [PROJECT_ID] --zone [ZONE] [INSTANCE_NAME]

ここで

  • [PROJECT_ID] は、インスタンスが含まれているプロジェクトの ID です。
  • [ZONE] は、インスタンスが存在するゾーンの名前です。
  • [INSTANCE_NAME] はインスタンス名です。

gcloud コマンドライン ツールにデフォルトのプロパティを設定した場合は、このコマンドから --project フラグと --zone フラグを省略できます。次に例を示します。

gcloud compute ssh [INSTANCE_NAME]

接続に成功したら、ターミナルを使用して Linux インスタンスでコマンドを実行します。終了したら、exit コマンドを使用してインスタンスから切断します。

SSH 認証鍵の保存場所

最初に接続した際、各ユーザーの SSH 認証鍵ペアが Compute Engine によって自動的に生成され、次のいずれかの場所に保存されます。

  • デフォルトでは、生成された鍵はプロジェクトまたはインスタンス メタデータに追加されます。
  • OS ログインを使用するようにアカウントを構成している場合、生成された鍵はユーザー アカウントとともに保存されます。

このドキュメントで説明されている方法で接続する場合は SSH 認証鍵の保存場所を知る必要はありませんが、代替的な方法、または高度な方法によるインスタンスへの接続に記載されている高度な方法で接続する場合には、保存場所を知ることが必要になる可能性があります。

ホストキーを保存する

ホストキーとは、特定のホストまたはマシンを識別するキーペアのことです。ホストキーは、リモートホストに接続する際に、目的のマシンに接続していることを確認するために使用されます。

gcloud beta compute ssh を使用して Linux インスタンスに接続している場合は、ホストキーをゲスト属性として保存することでセキュリティのレイヤを追加できます。

SSH ホストキーをゲスト属性として保存すると、中間者(MITM)攻撃などの脆弱性から保護できるため、接続のセキュリティが向上します。ゲスト属性が有効になっている場合、VM インスタンスの初回起動時に Compute Engine は生成されたホストキーをゲスト属性として保存します。その後、初回起動時に保存されたホストキーを使用して、VM インスタンスへの以降の接続をすべて検証します。

サポートされているオペレーティング システム

ゲスト属性としてのホストキーの保存は、次のオペレーティングシステムでサポートされています。

  • Debian
  • Red Hat Enterprise Linux(RHEL)
  • CentOS
  • SUSE Enterprise Linux Server(SLES)

ホストキーのゲスト属性への書き込みは、VM インスタンスの初回起動時にのみ行うことができます。ホストキーをゲスト属性に書き込むには、VM インスタンスの初回起動の前にゲスト属性を有効にする必要があります。

ホストキーをゲスト属性として保存するには、次の手順を行います。

  1. VM インスタンスを初回起動する前に、ゲスト属性を有効にします。インスタンスの作成時に選択した VM インスタンスまたはプロジェクト全体でゲスト属性を有効にできます。ゲスト属性を有効にするには、インスタンスでゲスト属性を有効にするをご覧ください。
  2. gcloud beta compute SSH を使用してインスタンスに接続します。

    1. gcloud コマンドライン ツールの最新バージョンを使用していることを確認してください。

      gcloud components update
      
    2. インスタンスに接続します。

      gcloud beta compute ssh --project [PROJECT_ID] --zone [ZONE] [INSTANCE_NAME]
      

      ここで

      • [PROJECT_ID] は、インスタンスが含まれているプロジェクトの ID です。
      • [ZONE] は、インスタンスが存在するゾーンの名前です。
      • [INSTANCE_NAME] はインスタンス名です。

      gcloud コマンドライン ツールにデフォルトのプロパティを設定した場合は、このコマンドから --project フラグと --zone フラグを省略できます。次に例を示します。

       gcloud beta compute ssh [INSTANCE_NAME]
      
    3. 起動メッセージを確認します。たとえば、Debian オペレーティング システムでは次のメッセージが表示される場合があります。

      Writing 3 keys to [YOUR_HOME_DIRECTORY]/.ssh/google_compute_known_hosts
      Linux host-key-2 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) x86_64
  3. ホストキーが保存されていることを確認します

ホストキーがゲスト属性として保存されていることを確認する

ホストキーがゲスト属性として保存されていることを確認するには、インスタンスのシリアルポートまたはホストキーの値を確認します。

オプション 1: シリアルポートの確認

  1. シリアルポート出力にアクセスします。シリアルポート出力の表示をご覧ください。
  2. [シリアルポート 1] を選択します。
  3. 次のメッセージを検索します。

    INFO Wrote ssh-rsa host key to guest attributes
    

    サポートされているオペレーティング システムをイメージで使用しているにもかかわらず、VM の初回起動前にゲスト属性が有効になっていない場合、次のメッセージが表示される場合があります。

    Unable to write ssh-rsa host key to guest attributes
    

    このメッセージは、ホストキーがインスタンスのゲスト属性として保存されていないことを示しています。作成を予定している追加インスタンスのホストキーを保存するには、インスタンスの初回起動前にゲスト属性を有効にしてください。

オプション 2: ホストキー値の確認

gcloud コマンドライン ツールを使用して、SSH 認証鍵がゲスト属性に書き込まれていることを確認できます。

 gcloud compute instances get-guest-attributes [INSTANCE_NAME] --query-path "hostkeys/" --zone [ZONE]

ここで

  • [ZONE] は、インスタンスが存在するゾーンの名前です。
  • [INSTANCE_NAME] はインスタンス名です。

出力は次のようになります。

NAMESPACE  KEY                  VALUE
hostkeys   ecdsa-sha2-nistp256  AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBJAGpTm
                                V3mFxBTHK1NIu9a7kVQWaHsZVaFUsqF8cLxQRQ+N96/Djiiuz1tucHQ8vBTJI=
hostkeys   ssh-ed25519          AAAAC3NzaC1lZDI1NTE5AAAAIM/WYBn3jIEW5t3BZumx0X/Htm61J6S9FcU8L
hostkeys   ssh-rsa              AAAAB3NzaC1yc2EAAAADAQABAAABAQDU3jReR/MoSttlWYfauW6qEqS2dhe5
                                Zdd3guYk2H7ZyxblNuP56nOl/IMuniVmsFa9v8W6MExViu6G5Cy4iIesot09
                                1hsgkG0U7sbWrXM10PQ8pnpI3B5arplCiEMhRtXy64rlW3Nx156bLdcxv5l+
                                7Unu4IviKlY43uqqwSyTv+V8q4ThpQ9dNbk1Gg838+KzazljzHahtbIaE1rm
                                I0L1lUqKiKLSLKuBgrI2Y/WSuqvqGEz+bMH7Ri4ht+7sAwykph6FbOgKqoBI
                                hVWBo38/Na/gEuvtmgULUwK+xy9zWg9k8k/Qtihc6El9GD9y

Windows インスタンスに接続する

Windows インスタンスに接続するには、Google Cloud Platform Console のリモート デスクトップ プロトコル(RDP)またはグラフィカル ユーザー インターフェースを使用します。

リモート デスクトップ

接続する前に Windows インスタンス パスワードを作成しているか確認し、次の手順でパスワードを入力できるようにしてください。

Console

GCP Console を使用して接続する前に、次の前提条件を満たしていることを確認してください。

  • VM インスタンスにパブリック IP アドレスが設定されている。
  • ファイアウォール ルールで、ポート 3389 を使用して、クライアントのパブリック IP アドレスからインスタンスへの TCP の上りトラフィックを許可している。

Chrome RDP 拡張機能で GCP Console を使用して接続するには、次の手順に従います。

  1. Google Cloud Platform 拡張機能用の Chrome RDP をインストールします。

  2. GCP Console で [VM インスタンス] ページに移動し、接続したい Windows インスタンスを見つけます。

    [VM インスタンス] ページに移動

  3. 接続したいインスタンスの [RDP] ボタンをクリックします。Chrome RDP 拡張機能が開きます。

  4. ドメイン、ユーザー名、パスワードを入力し、[OK] をクリックして接続します。

    必要なオプションが設定された状態のインスタンス作成ウィンドウ。

    インスタンスにドメインが構成されていない場合は、[ドメイン] を空白のままにできます。

  5. プロンプトが表示されたら、[続行] を押して証明書を受け入れます。

リモート デスクトップ

リモート デスクトップ クライアントを使用して接続する前に、次のいずれかの前提条件を満たしていることを確認してください。

  • VM インスタンスにパブリック IP アドレスが設定されており、ファイアウォール ルールで、ポート 3389 を使用して、クライアントのパブリック IP アドレスからインスタンスへの TCP の上りトラフィックを許可している。
  • ローカル ネットワークが VPN または Cloud Interconnect を通じて VPC に接続されており、ファイアウォール ルールで、ポート 3389 を使用して、クライアントのパブリック IP アドレスからインスタンスへの TCP の上りトラフィックを許可しています。

Microsoft Windows リモート デスクトップで接続するには、次の手順に従います。

  1. VM インスタンス ページから Windows インスタンスの IP アドレスを特定します。

    • インターネット経由で接続するには、外部 IP アドレスを使用します。
    • VPN または Cloud Interconnect を使用して接続するには、内部 IP アドレスを使用します。

    [VM インスタンス] ページに移動

    または、gcloud コマンドライン ツールで gcloud instances list コマンドを実行して IP アドレスを見つけます。

    gcloud compute instances list
    
  2. Windows マシン上で Microsoft Windows リモート デスクトップ接続を開きます。

    mstsc 接続ウィンドウのスクリーンショット

  3. [コンピューター] に IP アドレスを入力します。[接続] をクリックします。

  4. ユーザー名とパスワードを入力します。次に、[OK] をクリックして接続します。

その他

Android、iOS、Mac 向けに開発されたクライアントなど、他の RDP クライアントを使用して、Windows VM インスタンスに接続できます。

接続する前に、次の前提条件のいずれかを満たしていることを確認してください。

  • VM インスタンスにパブリック IP アドレスが設定されており、ファイアウォール ルールで、ポート 3389 を使用して、クライアントのパブリック IP アドレスからインスタンスへの TCP の上りトラフィックを許可している。
  • ローカル ネットワークが VPN または Cloud Interconnect を通じて VPC に接続されており、ファイアウォール ルールで、ポート 3389 を使用して、クライアントのパブリック IP アドレスからインスタンスへの TCP の上りトラフィックを許可しています。

他の RDP を使用して接続するには、次の手順に従います。

  1. VM インスタンス ページから Windows インスタンスの IP アドレスを特定します。

    • インターネット経由で接続するには、外部 IP アドレスを使用します。
    • VPN または Cloud Interconnect を使用して接続するには、内部 IP アドレスを使用します。

    [VM インスタンス] ページに移動

    または、gcloud コマンドライン ツールで gcloud instances list コマンドを実行して IP アドレスを見つけます。

    gcloud compute instances list
    
  2. クライアントのインストール手順に従って、サポートされているクライアントをインストールします。

  3. インスタンスの IP アドレスを使用して接続し、インスタンスのユーザー名とパスワードで認証します。

公式にサポートされているクライアントの一覧については、Microsoft のリモート デスクトップ クライアントをご覧ください。

RDP を使用した接続ができない場合は、RDP のトラブルシューティング ページを参照してください。

Special Administrative Console

このセクションでは、インタラクティブ シリアル コンソールを使用して Windows インスタンスの Windows Special Administrative Console(SAC)に接続する方法について説明します。リモート デスクトップ経由で接続できない場合、SAC を使用して Windows インスタンスのトラブルシューティングを行うことができます。

接続する前に、Windows インスタンスのパスワードを作成して準備しておく必要があります。

インタラクティブ シリアル コンソールを使用して Windows インスタンスに接続するには、次のいずれかのタブに示されている手順を実行します。

Console

GCP Console でインタラクティブ シリアル コンソールを使用して Windows インスタンスに接続するには、次の手順に従います。

  1. GCP Console の [VM インスタンス] ページを開き、インスタンスの名前をクリックします。[VM インスタンスの詳細] ページが開きます。

    [VM インスタンス] ページに移動

  2. [編集] をクリックします。[リモート アクセス] セクションで、[シリアルポート接続を有効化] を選択します。これにより、このインスタンスのインタラクティブ シリアル コンソールが有効になります。

    編集インスタンスの詳細画面の設定。

    プロジェクト内のすべてのインスタンスにこの設定を適用する場合は、代わりにプロジェクト全体のカスタム メタデータを設定します。

    インスタンス メタデータの更新について詳しくは、インスタンス メタデータの格納と取得をご覧ください。

  3. [保存] をクリックし、ページの先頭に戻ります。

  4. [リモート アクセス] で、[シリアル コンソールに接続] の横にあるプルダウンをクリックし、[シリアルポート 2] を選択します。Windows Special Administrative Console(SAC)が開きます。

  5. SAC> プロンプトで、cmd を実行して新しいチャネルを作成します。SAC によって、Cmd001 などのチャネル名が返されます。

  6. ch -sn [CHANNEL_NAME] を実行し、任意のキーを押してチャネルに接続します。次に例を示します。

    SAC> cmd
    The Command Prompt session was successfully launched.
    SAC>
    EVENT:   A new channel has been created.  Use "ch -?" for channel help.
    Channel: Cmd0001
    SAC> ch -sn cmd0001
    Press any key to confirm connection to the channel.
    
  7. 接続するインスタンスのユーザー名、ドメイン、パスワードを入力します。

gcloud

インタラクティブ シリアル コンソールを使用して gcloud コマンドライン ツールから Windows インスタンスに接続するには、次の手順を行います。

  1. ローカル オペレーティング システム用の Cloud SDK をまだダウンロードしていない場合は、ダウンロードしてインストールします。Cloud SDK のインストールをご覧ください。

  2. Cloud SDK を起動します。

  3. 以下のコマンドを実行し、シリアルポートへの接続を許可するようにインスタンスを構成します。

    gcloud compute instances add-metadata [INSTANCE_NAME]
    --metadata=serial-port-enable=1
    

    省略可: プロジェクトのすべてのインスタンスに設定を適用する場合は、代わりに次の Cloud SDK コマンドを実行します。

    gcloud compute project-info add-metadata
    --metadata=serial-port-enable=1
    

    プロジェクト全体のカスタム メタデータについて詳しくは、プロジェクト全体のカスタム メタデータの設定をご覧ください。

    メタデータの更新について詳しくは、インスタンス メタデータの更新をご覧ください。

  4. 次の gcloud コマンドを実行してインタラクティブ セッションに入ります。

    gcloud compute connect-to-serial-port [INSTANCE_NAME] --port=2
    

    SAC インタラクティブ セッション。

  5. SAC> プロンプトで、cmd を実行して新しいチャネルを作成します。SAC によって、Cmd001 などのチャネル名が返されます。

  6. ch -sn [CHANNEL_NAME] を実行し、任意のキーを押してチャネルに接続します。次に例を示します。

    SAC> cmd
    The Command Prompt session was successfully launched.
    SAC>
    EVENT:   A new channel has been created.  Use "ch -?" for channel help.
    Channel: Cmd0001
    SAC> ch -sn cmd0001
    Press any key to confirm connection to the channel.
    
  7. 接続するインスタンスのユーザー名、ドメイン、パスワードを入力します。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント