高度な方法によるインスタンスへの接続

概して、SSH 接続の最適な方法はインスタンスへの接続ページで説明されています。ただし、自分自身で認証情報を管理する、サードパーティのツールを使用する、または別の接続パスを使用してインスタンスに接続する必要がある場合は、次の高度な方法の方が、標準メソッドよりもニーズに合う可能性があります。

Linux インスタンスや Windows Server インスタンスに接続するために使用できる高度な方法がいくつかあります。

始める前に

公開 SSH 認証鍵をインスタンスに渡す

通常、インスタンスへの接続で説明されている方法を使用して接続する場合、Compute Engine ではユーザーの SSH 認証鍵の作成と管理が行われます。

ただし、独自の SSH 認証鍵を使用する必要がある場合(たとえば、サードパーティ ツールを使用して接続する場合)は、独自の SSH 認証鍵ペアを生成し、接続する前にインスタンスに公開 SSH 認証鍵ファイルを渡す必要があります。

独自の SSH 認証鍵を生成する方法と、公開 SSH 認証鍵ファイルの確認方法については、新しい SSH 認証鍵を作成するおよび SSH 認証鍵を探すをご覧ください。

インスタンスに SSH 認証鍵を渡すには、次のいずれかの方法を使用します。

  • (推奨)OS Login を有効にし、IAM のロールを使用して、Google アカウントまたはマネージド ユーザー アカウントを通して公開 SSH 認証鍵をインスタンスに渡します。これを行うには、OS Login の設定の手順に従って、OS Login を有効にし、ロールを作成します。次に、SSH 認証鍵をユーザー アカウントに追加するセクションを参照して、公開鍵をインスタンスへの接続に使用するロールに追加します。

  • (非推奨)プロジェクトまたはインスタンスのメタデータを編集して、SSH 認証鍵を手動で追加および削除します。メタデータでの SSH 認証鍵の管理をご覧ください。この方法は、不要なリスクと複雑さが増すため、上記の OS Login 方法で対処できない場合を除きおすすめしません。手動での鍵管理のリスクをご覧ください。

  • インスタンスがすでにアクセス権を持つ他のユーザー(組織のシステム管理者など)によって管理されている場合、SSH 公開鍵ファイルを渡して手動で構成するよう依頼することもできます。通常、インスタンスへの接続、インスタンスのホーム ディレクトリへの公開鍵ファイルのコピー、ファイルのアクセス許可の変更が必要となりますが、これは組織がインスタンスを管理する方法によって異なります。

サードパーティ製ツールを使用した接続

公開 SSH 認証鍵をインスタンスに渡した後、サードパーティ製 SSH ツールを一致する秘密 SSH 認証鍵とともに使用して接続できます。

接続するには、ローカル ワークステーションのオペレーティング システムの手順に従います。

Linux / macOS

Linux または macOS マシンから SSH を使用して接続するには、ローカル ターミナルで組み込みの ssh コマンドを使用します。

  1. まだ実行していない場合は、使用可能ないずれかのオプションを使用して、公開 SSH 認証鍵をインスタンスに指定します。これを行わずに続行することはできません。

  2. Google Cloud Console で VM インスタンス ページに移動し、接続先のインスタンスの外部 IP アドレスを探します。

    インスタンス ページに移動

  3. ローカル ターミナルでは、秘密 SSH 認証鍵ファイル、ユーザー名、接続するインスタンスの外部 IP アドレスとともに、ssh コマンドを使用します。例:

    ssh -i path-to-private-key username@external-ip

    以下を置き換えます。

    接続後、このターミナルを使用して、インスタンスでコマンドを実行します。完了したら、exit コマンドを実行して、インスタンスから切断します。

Windows(PuTTY)

Windows には組み込みの SSH クライアントは含まれていません。そのため、サードパーティのクライアントをダウンロードしてインストールする必要があります。PuTTY を使用して接続する手順は次のとおりです。

PuTTY を使用して Windows からインスタンスに接続するには、次の操作を行います。

  1. まだ実行していない場合は、使用可能ないずれかのオプションを使用して、公開 SSH 認証鍵をインスタンスに指定します。これを行わずに続行することはできません。

  2. Google Cloud Console で VM インスタンス ページに移動し、接続先のインスタンスの外部 IP アドレスを探します。後のステップで使用できるように、外部 IP アドレスを保持します。

    インスタンス ページに移動

  3. まだダウンロードしていない場合は、putty.exe をダウンロードします。

  4. putty.exe を起動して PuTTY を開きます。接続構成ウィンドウが開きます。

  5. 接続構成ページの [Host Name] フィールドに、SSH 認証鍵に関連付けられているユーザー名と、接続するインスタンスの外部 IP アドレスを以下の形式で入力します。

    username@external-ip

    以下を置き換えます。

    • username: インスタンスに接続するユーザーのユーザー名。これは、SSH 認証鍵を作成するときに指定したユーザー名である必要があります。
    • external-ip: 接続するインスタンスの外部 IP アドレス。

      たとえば、次のスクリーンショットをご覧ください。

      ユーザー名および IP アドレスの例として jane_doe@203.0.113.2 を使用した [Host Name] フィールドを設定

  6. 左側の [Category] メニューで、[Connection] > [SSH] > [Auth] に移動します。

  7. [Private key file for authentication] フィールドで、秘密鍵ファイルの場所を参照します。

    たとえば、次のスクリーンショットをご覧ください。

    秘密鍵ファイルのフィールドでの my-ssh-key.ppk ファイルへのパスの設定。

  8. [Open] をクリックし、インスタンスに接続するターミナルを開きます。

    接続後、このターミナルを使用して、インスタンスでコマンドを実行します。完了したら、exit コマンドを実行して、インスタンスから切断します。

Chrome OS(SSH アプリ)

Chromebook または Chrome がインストールされたオペレーティング システムは、SSH クライアントとして Secure Shell を使用します。Secure Shell App からインスタンスに接続するには、次のようにします。

  1. まだ実行していない場合は、使用可能ないずれかのオプションを使用して、公開 SSH 認証鍵をインスタンスに指定します。これを行わずに続行することはできません。

  2. Chromebook または Chrome ブラウザに Secure Shell をまだインストールしていない場合は、インストールします。

  3. Google Cloud Console で VM インスタンス ページに移動し、接続先のインスタンスの外部 IP アドレスを探します。後のステップで使用できるように、外部 IP アドレスを保持します。

    インスタンス ページに移動

  4. Chrome ブラウザのタブで Secure Shell App を開きます。

  5. 次の形式で、接続するインスタンスの SSH 認証鍵ペアに関連付けられたユーザー名と外部 IP アドレスを入力します。

    username@external-ip

    以下を置き換えます。

    • username: インスタンスに接続するユーザーのユーザー名。これは、SSH 認証鍵を作成するときに指定したユーザー名である必要があります。
    • external-ip: 接続するインスタンスの外部 IP アドレス。
  6. [ID] フィールドで、インスタンスへの接続に使用する秘密 SSH 認証鍵ファイルを選択します。必要に応じて、[インポート] をクリックして、ローカル ワークステーションから秘密鍵ファイルを選択します。

  7. [接続] をクリックして、インスタンスに接続します。

    接続後、このターミナルを使用して、インスタンスでコマンドを実行します。完了したら、exit コマンドを実行して、インスタンスから切断します。

その他の SSH オプション

上記の他に、以下の方法で SSH を使用してインスタンスに接続できます。

外部 IP アドレスを持たないインスタンスへの接続

外部 IP アドレスを持たない独立したインスタンスがある場合でも、Google Cloud VPC ネットワークの内部 IP アドレスを使用して、それらのインスタンスに接続できます。たとえば、次の方法を使用して、外部ネットワークから意図的に分離した VM インスタンスにも接続できます。

VPN 接続を介した接続

バーチャル プライベート ネットワーク(VPN)を使用して外部 IP アドレスを持たないインスタンスに接続するには、次の操作を行います。

  • Cloud VPN トンネルを介して VM インスタンスにアクセスできるコンピュータを使用する必要があります。

    たとえば、ローカルのオンプレミス ネットワークが Google Cloud VPC と共有する VPN があるとします。そのような状況では、gcloud コマンドライン ツール、SSH(Linux および macOS の場合)、PuTTY などのサードパーティ SSH クライアント(Windows の場合)を使用してインスタンスに接続します。

詳しくは、次のタブをご覧ください。

gcloud

--internal-ip フラグを指定して gcloud compute ssh コマンドを実行し、外部 IP アドレスを使用せずにインスタンスに接続します。internal-instance-name は、接続するインスタンスの名前に置き換えます。

gcloud compute ssh internal-instance-name --internal-ip

接続後、このターミナルを使用して、インスタンスでコマンドを実行します。完了したら、exit コマンドを実行して、インスタンスから切断します。

Linux / macOS

Linux または macOS ワークステーションから外部 IP アドレスを持たないインスタンスに接続するには、次のようにします。

  1. 前述のいずれかの方法で公開 SSH 認証鍵をインスタンスに渡します。これを行わずに続行することはできません。

  2. ローカルマシンで、SSH 認証鍵管理のために ssh-agent を開始します。

    $ eval ssh-agent $SHELL
    
  3. ssh-add コマンドを使用して、ローカルのパソコンからエージェントに秘密 SSH 認証鍵を読み込み、すべての SSH コマンドの認証に秘密 SSH 認証鍵が使われるようにします。private-key は、秘密鍵ファイルのファイル名に置き換えます。

    $ ssh-add ~/.ssh/private-key
    
  4. Google Cloud Console で VM インスタンス ページに移動し、接続先のインスタンスの内部 IP アドレスを探します。

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

  5. ローカル ターミナルでは、秘密 SSH 認証鍵に関連付けられたユーザー名、接続するインスタンスの内部 IP アドレスとともに、ssh コマンドを使用します。例:

    $ ssh username@internal-instance-ip-address

    以下を置き換えます。

    • username: インスタンスに接続するユーザーのユーザー名。これは、SSH 認証鍵を作成するときに指定したユーザー名である必要があります。
    • internal-instance-ip-address: 接続先のインスタンスの内部 IP アドレス。

接続後、このターミナルを使用して、インスタンスでコマンドを実行します。完了したら、exit コマンドを実行して、インスタンスから切断します。

Windows(PuTTY)

Windows ワークステーションから外部 IP アドレスを持たないインスタンスに接続するには:

  1. まだ実行していない場合は、使用可能ないずれかのオプションを使用して、公開 SSH 認証鍵をインスタンスに指定します。これを行わずに続行することはできません。

  2. Google Cloud Console で VM インスタンス ページに移動し、接続先のインスタンスの内部 IP アドレスを探します。

    インスタンス ページに移動

  3. 上記の手順に従って、Windows から Putty を使用してインスタンスに接続しますが、次の変更を行います。

    • 手順で外部 IP アドレスを指定するよう指示されている場合は、代わりに、接続するインスタンスの内部アドレスを指定します。

接続後、このターミナルを使用して、インスタンスでコマンドを実行します。完了したら、exit コマンドを実行して、インスタンスから切断します。

踏み台インスタンスを介した接続

外部 IP アドレスを持たないインスタンスに接続するもう 1 つの方法は、踏み台インスタンスを介して接続することです。踏み台インスタンスを使用して、他のピアリングされた VPC ネットワーク上のインスタンスに接続することもできます。

Linux と macOS から踏み台インスタンスを介してインスタンスに接続するには、gcloud コマンドライン ツールまたは SSH を使用します。Windows から接続するには、PuTTY などのサードパーティの SSH クライアントを使用します。

踏み台インスタンスから他のインスタンスに接続するには、秘密 SSH 認証鍵が必要です。これを管理するには以下のいくつかの方法があります。

  • gcloud コマンドライン ツールをインストールして、ユーザーの秘密鍵を管理するように設定します。
  • SSH クライアントのエージェント転送を有効にして、秘密鍵を踏み台インスタンスに転送します。

完全な手順については、以下の例をご覧ください。

gcloud

gcloud コマンドライン ツールを使用すると、SSH 秘密鍵を踏み台インスタンスに転送せずに、外部 IP アドレスを持たないインスタンスに接続できます。これを行うには、gcloud がローカル ワークステーションと踏み台インスタンスの両方にまだインストールされていない場合は、インストールします。

gcloud コマンドライン ツールを使用して、外部 IP アドレスを持たないインスタンスに接続するには:

  1. --scopes compute-rw をコマンドに含めることにより、読み取り / 書き込み Compute Engine API のアクセス スコープを踏み台インスタンスのサービス アカウントに設定します。詳細については、インスタンスのサービス アカウントとアクセス スコープの変更をご覧ください。

  2. OS Login(推奨)またはプロジェクト メタデータを使用して、踏み台インスタンスが公開 SSH 認証鍵にアクセスできるようにするために必要な IAM 権限を付与します。次のいずれかの手順を使用します。

    これで、踏み台インスタンスのサービス アカウントが公開 SSH 認証鍵を適用できるようになりました。

  3. Linux 踏み台インスタンスに接続します。external-instance-name は、内部ネットワークへのアクセスに使用する踏み台インスタンスの名前に置き換えます。

    gcloud compute ssh external-instance-name
    
  4. Linux の踏み台インスタンスから、gcloud compute ssh コマンドを --internal-ip フラグとともに使用して、内部 IP アドレスを介してインスタンスに接続します。internal-instance-name は、接続するインスタンスの名前に置き換えます。

    gcloud compute ssh internal-instance-name --internal-ip
    

接続後、このターミナルを使用して、インスタンスでコマンドを実行します。完了したら、exit コマンドを実行して、インスタンスから切断します。

Linux / macOS

秘密鍵を踏み台インスタンスに転送する必要がある場合は、鍵を ssh-agent に追加してください。次に、gcloud compute ssh コマンドまたは ssh コマンドを使用して、踏み台インスタンスへの最初の接続を確立し、SSH エージェントに鍵を転送します。このプロセスは、Linux および macOS ワークステーションでのみ機能します。秘密鍵を Windows ワークステーションから踏み台インスタンスに転送する必要がある場合は、代わりに PuTTY の手順を使用します。

Linux または macOS ワークステーションから外部 IP アドレスを持たないインスタンスに接続するには:

  1. 前述のいずれかの方法で公開 SSH 認証鍵を渡します。公開 SSH 認証鍵は、必ず Linux 踏み台インスタンスと外部 IP アドレスを持たないインスタンスの両方に渡してください。

  2. ローカルマシンで、SSH 認証鍵管理のために ssh-agent を開始します。

    $ eval ssh-agent $SHELL
    
  3. ssh-add コマンドを使用して、ローカル コンピュータからエージェントに秘密 SSH 認証鍵を読み込み、すべての SSH コマンドの認証に使用します。private-key は、秘密鍵ファイルのファイル名に置き換えます。

    $ ssh-add ~/.ssh/private-key
    
  4. Linux 踏み台インスタンスの外部 IP アドレスと、接続する内部インスタンスの内部 IP アドレスを確認します。[VM インスタンス] ページの [外部 IP] 列と [内部 IP] 列にアドレスが表示されます。

    インスタンス ページに移動

  5. ssh または gcloud compute ssh を使用して、Linux 踏み台インスタンスに接続します。どちらの場合も、-A 引数を指定して、認証エージェントの転送を可能にします。

    ssh を使用して、Linux 踏み台インスタンスに接続し、秘密鍵を転送します。

    $ ssh -A username@bastion-host-external-ip

    以下を置き換えます。

    • username: SSH 認証鍵に付けられた名前。
    • bastion-host-external-ip: 内部ネットワークへのアクセスに使用する踏み台インスタンスの外部 IP アドレス。

    また、gcloud compute ssh コマンドを使用して踏み台インスタンスに接続し、秘密鍵を転送できます。このオプションを使用すると、gcloud コマンドライン ツールを使用して踏み台インスタンスに接続できます。内部 IP アドレスに接続する際には転送された認証情報で通常の ssh を使用することが可能になります。bastion-host-instance-name は、内部ネットワークへのアクセスに使用する踏み台インスタンスの名前に置き換えます。

    gcloud compute ssh --ssh-flag="-A" bastion-host-instance-name
    
  6. Linux 踏み台インスタンスから、SSH を使用して外部 IP アドレスを持たないインスタンスに接続します。

    $ ssh username@internal-instance-ip-address

    以下を置き換えます。

    • username: SSH 認証鍵に付けられた名前。
    • internal-instance-ip-address: 接続先のインスタンスの内部 IP アドレス。

接続後、このターミナルを使用して、インスタンスでコマンドを実行します。完了したら、exit コマンドを実行して、インスタンスから切断します。

Windows

Windows ワークステーションから外部 IP アドレスを持たないインスタンスに接続するには:

  1. 前述のいずれかの方法で公開 SSH 認証鍵を渡します。公開 SSH 認証鍵は、必ず Linux 踏み台インスタンスと外部 IP アドレスを持たないインスタンスの両方に渡してください。

  2. Linux 踏み台インスタンスの外部 IP アドレスと、接続する内部インスタンスの内部 IP アドレスを確認します。[VM インスタンス] ページの [外部 IP] 列と [内部 IP] 列にアドレスが表示されます。

    インスタンス ページに移動

  3. PuTTY を使用して Linux 踏み台インスタンスに接続します。[Allow agent forwarding] 設定をオンにして秘密 SSH 認証鍵を踏み台インスタンスに渡します。

    接続しているインスタンスのエージェント転送の許可。

  4. SSH を使用して、Linux 踏み台インスタンスから外部 IP アドレスを持たないインスタンスに接続します。

    $ ssh username@internal-ip-address
    

    以下を置き換えます。

    • username: インスタンスに接続するユーザーのユーザー名。これは、SSH 認証鍵を作成するときに指定したユーザー名である必要があります。
    • internal-ip-address: 接続先のインスタンスの内部 IP アドレス。

    接続後、このターミナルを使用して、インスタンスでコマンドを実行します。完了したら、exit コマンドを実行して、インスタンスから切断します。

IAP を介して接続する

SSH と IAP の TCP 転送機能を使用すると、SSH 接続が HTTPS にラップされます。IAP の TCP 転送機能は、それをリモート インスタンスに送信します。

iap.tunnelResourceAccessor 権限を持つユーザーは、次のコマンドを実行して SSH を使用して接続できます。

gcloud compute ssh [INSTANCE-NAME]

コンテキストアウェア アクセス ルールの構成方法や VM 上の他の TCP ポートへのアクセス方法などの詳細については、TCP 転送の使用をご覧ください。

root ユーザーとしてのインスタンスへの接続

公開イメージや一般的なオペレーティング システムでは SSH を使用した root でのログインはデフォルトで許可されません。SSH を使用してインスタンスに root として接続するには、このような操作を許可するようにインスタンスを構成する必要があります。

/etc/ssh/sshd_config SSH 構成ファイルの PermitRootLogin パラメータを no に設定するのがベスト プラクティスです。このパラメータにより、プロジェクトまたはインスタンスのメタデータで root の SSH 認証鍵を指定しても、root ユーザーとしてインスタンスに接続できなくなります。root 権限が必要なユーザーは、sudo を使用してコマンドを実行することでその権限を取得できます。

root ユーザーとして SSH を使用できるようにインスタンスを構成し、そのインスタンスで root ユーザーの SSH 認証鍵を構成した場合、インスタンス名の前に root@ を指定して gcloud compute ssh コマンドを実行すると、root として接続できます。

gcloud compute ssh --project project-id
    --zone zone root@instance-name

以下を置き換えます。

  • project-id: インスタンスが含まれているプロジェクトの ID。
  • zone: インスタンスが存在するゾーンの名前。
  • instance-name: インスタンスの名前。

PowerShell ターミナルを使用して Windows インスタンスに接続する

Windows ワークステーションに PowerShell がインストールされている場合には、リモート PowerShell セッションから Windows Server インスタンスに接続できます。このプロセスは、SSH を使用して Linux インスタンスに接続する場合に似ています。

  1. リモート Windows インスタンスのユーザー名とパスワードを作成していない場合には、Windows パスワードを作成またはリセットします

  2. ファイアウォール ルールを追加して、Windows Server インスタンスが存在する Google Cloud VPC ネットワーク上のポート 5986 を開くようにこのルールを設定します。

  3. ローカル ワークステーションで、PowerShell ターミナルを開きます。

  4. ユーザーの認証情報を格納する変数を初期化することもできます。初期化すると、インスタンスに接続するたびに、認証情報を入力する必要がなくなります。この手順をスキップすると、ユーザー名とパスワードを要求するプロンプトが後で表示されます。

    PS C:\> $credentials = Get-Credential
    
  5. Enter-PSSession コマンドを使用してリモート PowerShell セッションを開始します。その際、SSL を使用するフラグと認証情報の確認をスキップするフラグを指定します。ip-address は、接続するインスタンスの外部 IP アドレス、DNS 名、または Windows コンピュータ名に置き換えます。

    PS C:\> Enter-PSSession -ComputerName ip-address -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials
    

接続後、コマンド プロンプトが変更され、リモート Windows インスタンスの IP アドレスが含まれるようになります。これで、ターミナルからリモートの Windows Server インスタンスで PowerShell コマンドを実行できます。

Enter-PSSession コマンドの代わりに、-ScriptBlock フラグを指定して Invoke-Command を実行すると、インタラクティブ セッションを確立せずにリモート インスタンスで PowerShell コマンドを実行できます。

PS C:\> Invoke-Command -ComputerName ip-address -ScriptBlock { script } -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials

以下を置き換えます。

  • ip-address: 接続するインスタンスの IP アドレス、DNS 名、または Windows コンピュータ名。
  • script: リモート インスタンスで実行する 1 つ以上のコマンド。たとえば、ログイベントのリストを表示するには、Get-EventLog -log "Windows PowerShell" を指定します。

サービス アカウントとしてインスタンス間を手動で接続する

状況によっては、インスタンスのサービス アカウントの権限でインスタンスに接続して、コマンドを実行したい場合があります。gcloud compute ssh コマンドを使用すると、サービス アカウントの SSH 認証情報を使用して、あるインスタンスから別のインスタンスに接続し、2 つ目のインスタンスでサービス アカウントとしてコマンドを実行できます。

gcloud コマンドライン ツールにより、SSH 認証鍵ペアが自動的に生成され、インスタンス上のサービス アカウントに関連付けられます。サービス アカウントとして別のインスタンスに接続した後は、そのサービス アカウントの IAM 権限を使用して別の gcloud コマンドを実行できます。

たとえば、次のような環境について考えてみましょう。

  • インスタンス A:
    • インスタンス A にはサービス アカウントが関連付けられています。
    • インスタンス A のサービス アカウントには、プロジェクト レベルまたはインスタンス B のリソース用に必要な OS Login ロールが構成されています。
    • サービス アカウントは、インスタンス A に https://www.googleapis.com/auth/cloud-platform プラットフォーム全体のスコープを設定しています。
  • インスタンス B:
    • インスタンス B は、インスタンス A と同じ内部ネットワーク上に存在するか、インスタンス A からの SSH 接続を許可するファイアウォール ルールが設定されているネットワーク上に存在します。
    • プロジェクトまたはインスタンス B で OS Login 機能が有効になっています。
  • 個人ユーザー アカウント:
    • ユーザーのアカウントには、インスタンス A のサービス アカウントに対する roles/iam.serviceAccountUser ロールが設定されています。
    • ユーザーのアカウントはインスタンス A に SSH で接続できます。
    • ユーザーのアカウントはインスタンス B にアクセスできません。サービス アカウントは、インスタンス B との接続に必要な OS Login ロールを持つ唯一のアカウントです。

インスタンス A に接続し、そのサービス アカウントとしてコマンドを実行します。この操作を行うには、サービス アカウントに対する roles/iam.serviceAccountUser ロールが必要です。

  1. roles/iam.serviceAccountUser ロールを持つユーザーとして、インスタンス A に接続します。たとえば、gcloud コマンドライン ツールを使用して SSH 接続を確立できます。

    my-username@localworkstation:~$ gcloud compute ssh instance-a --project my-project --zone us-east1-d
    
  2. インスタンス A に SSH 接続した後は、roles/iam.serviceAccountUser ロールが付与されている間はそのサービス アカウントとしてコマンドを実行できます。この例では、インスタンス A 上で gcloud ツールを使用して、インスタンス B へのチェーン SSH 接続を作成します。gcloud ツールによって、インスタンス B で OS Login が使用可能になっていることが識別されます。また、サービス アカウントにインスタンス B への SSH 接続に必要な IAM のロールが付与されていることが識別されます。

    my-username@instance-a:~$ gcloud compute ssh instance-b --project my-project --zone us-east1-d
    
    WARNING: Using OS Login user [sa_113491385848438711199] instead of default user [my-username]
    Linux instance-b 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u6 (2018-10-08) x86_64
    ⋮
    
  3. これで、インスタンス B にサービス アカウントとして接続し、そのサービス アカウントの権限でコマンドを実行できます。

    sa_113491385848438711199@instance-b:~$ uname -a
    
    Linux instance-b 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u6 (2018-10-08) x86_64 GNU/Linux
    

次のステップ