はじめに
今回は前回の記事の続きとして、Terraformで立てたGoogle Cloud Platform(GCP)上の仮想マシン(VM)インスタンスに対して、VSCode を使用して SSH 接続する方法について説明します。
前回の記事はこちら:https://qiita.com/RyutoYoda/items/3948357eb4c063294830
SSH 鍵の生成
-
まず、ターミナルを開き、以下のコマンドを入力します:
ssh-keygen
-
コマンドを実行すると、次のようなプロンプトが表示されます:
Generating public/private rsa key pair. Enter file in which to save the key (/Users/your_username/.ssh/id_rsa):
ここで、SSH 鍵を保存するファイルパスを指定します。デフォルトでは、
/Users/your_username/.ssh/id_rsa
に保存されますが、必要に応じて変更できます。ファイルパスを入力し、Enter キーを押します。 -
次に、パスフレーズを設定するかどうかを尋ねられます:
Enter passphrase (empty for no passphrase):
パスフレーズは、セキュリティ向上のために SSH 鍵に設定できる追加のパスワードです。パスフレーズを設定する場合は入力し、Enter キーを押します。パスフレーズを設定しない場合は、そのまま Enter キーを押してください。
-
パスフレーズを設定した場合は、もう一度入力するように求められます:
Enter same passphrase again:
先ほどと同じパスフレーズを入力し、Enter キーを押します。
-
これで SSH 鍵の生成が完了しました。秘密鍵は
id_rsa
という名前で保存され、公開鍵はid_rsa.pub
という名前で保存されます。
SSH 接続の設定
- SSH 接続の設定を行うために、
~/.ssh/config
ファイルを開きます:
※codeコマンドが使えない場合はvscodeでコマンドパレット(⇧⌘P)を開きshell commandで検索、Shell Command: Install 'code' command in PATHを選択してインストールする。
code ~/.ssh/config
-
上記コマンドを実行すると、VSCode が
config
ファイルを開きます。ファイルの内容を以下のように編集します:Host **your_host_alias**(gcpのインスタンス名) HostName **your_vm_ip_address**(外部IPアドレス) User **your_username**(PCの名前) IdentityFile ~/.ssh/id_rsa PasswordAuthentication no IdentitiesOnly yes
ここで、
your_host_alias
は任意のホスト名、your_vm_ip_address
は対象の VM インスタンスの IP アドレス、your_username
は VM にアクセスするためのユーザー名に置き換えてください。
SSH 鍵の確認
最後にターミナルで、生成した SSH 鍵の内容を確認し、コピーします。
cat ~/.ssh/id_rsa.pub
インスタンス名をタップして、編集からSSH認証鍵をペーストします。
これで、GCP VM インスタンスへの SSH 接続の準備が整いました。 VSCode を使用して、リモートからSSHの+マークでVM インスタンスにアクセスできます。
左下を確認し、設定したインスタンス名になっていれば成功です。
まとめ
この記事では、Google Cloud Platform(GCP)上の仮想マシン(VM)インスタンスに対して、VSCode を使用して SSH 接続する手順を簡潔に説明しました。SSH 鍵の生成、接続情報の設定、そして SSH 鍵の確認という基本的な手順を通じて、VM インスタンスへの安全かつ効率的なアクセス方法を提供しました。これにより、開発者はVSCodeを活用して、GCP 上のリソースにスムーズにアクセスできるようになります。