ウェブサイト検索

Google Cloud PlatformインスタンスのSSHを設定する方法


Google Cloud Platformは、AWSの競合であり、仮想化されたサーバーの運用を簡単かつ安価にします。しかし、初心者にとっては、SSHの設定に独自のアプローチを取っており、いくつかの説明と設定が必要です。

クイックSSHアクセス:コンソールを使用

迅速にアクセスする必要がある場合、最も簡単な方法はGCP Compute Engineコンソールから「SSH」をクリックすることです。これにより、新しいChromeウィンドウが開き、キーが転送されてインスタンスに接続されます。

これは、サードパーティクライアントのためにSSHを設定するのが思ったよりも少し手間がかかるために提供されています。AWSのような他のクラウドプロバイダーでは、プライベートキーのペアを選択し、そのキーのペアをダウンロードし、通常通りにインスタンスに接続します。

ssh -i keyfile

しかし、GCPはSSHキーをIAMロールと権限を使用して管理することを決定しました。インスタンスのためにプライベートキーをダウンロードするのではなく、代わりにユーザーアカウントにキーを提供し、OSログインを設定することでインスタンスにキーを提供します。

もちろん、SSHキーを手動で追加することもできます。

authorized_keys

ファイルは問題を解決しますが、Googleは理由があってOSログインを設定しており、彼らが設置したキー管理ツールを手動で上書きするよりもこの方法で管理する方が良いです。

OSログインで独自のキーを設定する

OS Loginのセットアップの第一歩は、あなたのユーザーアカウントにSSHキーを追加することです。他の人のアクセスを管理している場合は、Directory APIを使用することができますが、自分のアカウントをリンクする場合は、次のことを行いたいでしょう。

gcloud

CLI.

インストーラーをダウンロードして実行します。インストーラーが新しいウィンドウを開き、鍵を追加したいGoogleアカウントにサインインできるようになります。完了したら、ターミナルで次のコマンドを実行してください。

~/.ssh/id_rsa.pub

あなたのアカウントのキーに:

gcloud compute os-login ssh-keys add 

--key-file ~/.ssh/id_rsa.pub

--ttl 0

OSログインはデフォルトで無効になっているため、プロジェクト全体で有効にするか、特定のインスタンスで有効にする必要があります。Compute Engineコンソールの「メタデータ」の下に、新しいキーとペアを追加します。キーはenable-oslogin、値はTRUEです。

あなたのアカウントがIAM管理者であれば、アカウントにリンクしたプライベートキーを使用して、OSログインが有効になっているインスタンスに接続できるようになっているはずです。

ただし、アカウントがオーナーでない場合、インスタンスにアクセスするためにはいくつかのIAMパーミッションを有効にする必要があります:

  • roles/compute.osAdminLogin、これは管理者権限を付与します、または
  • roles/compute.osLogin は、管理者権限を付与しません。

これらの権限のいずれかを、IAMポリシーバインディングを使用してインスタンスレベルで設定できます。

作成する新しいインスタンスは、手動での設定を必要とせず、アカウントにリンクされたプライベートキーを使用して自動的にアクセス可能になります。他のユーザーにアクセスを与え、将来的にそれを取り消す必要がある場合は、IAM権限を単に取り消すことで問題を解決でき、キーの回転を必要としません。

関連記事: