GCEで作成したインスタンスにターミナルからsshコマンドを使って使用する方法を紹介する。
google-cloud-sdkをインストールしてgcloudコマンドを使ったり、ブラウザでインスタンスのターミナルをいじることもできる。
しかし、sdkをインストールする必要があったり、動作がもっさりする。
そこでsshコマンドを使って快適にGCEのインスタンスを利用する。
sshキーの生成
まず、自分のpcのsshキーを生成する。
以下のようにssh-keygenコマンドを実行しよう。
ここで-C
オプションに続く[ユーザ名]はgceのインスタンスのユーザ名になる。
また、ssh-keygenコマンドを実行するとsshキーを保存するpathとパスフレーズが求めらるので好きなものを入れる。
下の例ではsshキーを保尊するpathを/Users/name/.ssh/gcloud_id_rsa
とした。
$ ssh-keygen -t rsa -b 4096 -C [ユーザ名]
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/name/.ssh/id_rsa):/Users/name/.ssh/gcloud_id_rsa
Enter passphrase (empty for no passphrase):
公開鍵の登録
公開鍵の登録はGoogle Cloud Consoleから登録する。
Google Cloud ConsoleのCompute Engine->メタデータ->ssh認証鍵->編集をクリックすると、公開鍵の登録画面が開く。
登録画面の認証鍵全体を入力と書かれたフォームに公開鍵を入力する。
macの場合はpbcopyを使うとターミナル上でクリップボードにコピーできる。
コピーしたらフォームに入力して保存する。
$ pbcopy < gcloud_id_rsa.pub
これで登録した鍵を使って、Compute Engineで生成した全てのインスタンスにssh接続できるようになる。
インスタンスにssh接続
Google Cloud ConsoleのCompute Engine->VMインスタンスを開き、接続したいインスタンスの外部IPを確認する。
ユーザ名,外部IP,秘密鍵のpath(例では~/.ssh/gcloud_id_rsa
)を指定して、sshコマンドを実行する。
$ ssh [ユーザ名]@[外部IP] -i ~/.ssh/gcloud_id_rsa