GCPの仮想サーバーにSSH接続する

Google Cloud Platformで構築した仮想サーバーにSSH接続する方法を紹介します。パスワードでログインしたりできたら良いのですが、証明書認証でしかSSH接続はできないらしいです。今回は証明書の作成から接続するところまで紹介します。

PuTTY Key Generator

キーの作成はこのプログラムから行います。

ssh001

とても、使いにくいアプリなのですが、まず「Generate」ボタンをクリックしてください。プログレスバーが表示されるので画面上部に表示される枠内で適当にマウスを動かしてください。プログレスバーがいっぱいになると上記のような画面が表示されます。テキストが選択されているところが公開鍵になります。と、その前に「Key comment」にユーザ名を入力してください。Google Cloud Platformのユーザ名をそのまま使用します。ユーザ名を入力できたら公開鍵をコピーします。右クリックして「すべて選択」「コピー」すると確実ですよ。

秘密鍵も必要ですね。「Save private key」ボタンをクリックしてファイルに保存しておいてください。

ssh002

メタデータの「SSH認証鍵」をクリックします。「項目を追加」をクリックするとテキストボックスが表示されるので、先ほどコピーしてきた公開鍵を貼り付けて「保存」をクリックしてください。

何故、これで接続できるようになるのかは、よくわかりませんが、ここで項目を追加すると、仮想サーバー側の設定を良い感じに変更してくれるみたいです。細かいところはGoogleのサポートに聞いて下さい。

PuTTYからSSH接続します

ssh003

PuTTYを起動してください。ツリー表示の「Session」を選択して「Host Name」に仮想サーバーの外部IPアドレスを入力します。IPアドレスはコンソールの「VM インスタンス」から確認できます。

ssh004

ツリー表示の「Connection/Data」を選択して「Auto-login username」に証明書を作成するときに入力したものと同じユーザ名を入力してください。

ssh005

ツリー表示の「Connection/SSH/Auth」を選択して「Private key file for authentication」に秘密鍵のファイルを指定します。必要に応じて「Session」に戻って「Save」しておくと、次回からの接続時に設定を省略できます。

ここまできたら「Open」をクリックするだけです。

ssh006

おなじみの、サーバーを確認する画面が表示されますので「はい」をクリックしてください。細かい人は作成したキーと比較したりするのでしょうが、気にしなくても大丈夫です。Googleを信じましょう。

ssh007

接続後に証明書を使用して自動ログインされます。
サーバーの構築に比べると、とても長い道のりでした。

システム開発

Posted by @erestage