LoginSignup
1
0

Google Compute Engine へ Ed25519 で SSH 接続する話

Last updated at Posted at 2023-06-09

Google Compute Engine は接続するだけなら、ブラウザで十分ですし、ポート変更やらある程度対策してれば問題ないと考えていますが、現在の選択の中では最も強固と言われている Ed25519 で接続したいと思いかきかきしてます。

はじめに

2023年6月現在の Google Compute Engine では、

  • ブラウザからアクセスすると、ECDSA 鍵が自動生成
  • gcloud CLI からアクセスすると、RSA 鍵が自動生成

されるようになっています。
また、ブラウザの「指定された秘密 SSH 鍵を使用してブラウザ ウィンドウを開く」では、ECDSA か RSA しか選択できないあたり、公式には Ed25519 を対応する気も無さげに見えます。
image.png
こんな感じなので、Ed25519 でアクセスしたいなら、外部のSSHクライアントからじゃないとアクセスできないようです。

必要なもの

  • gloud CLI(VMにアクセスする時に必要になります)
  • 外部のSSHクライアント(TeraTerm など)

手順

  1. 手順に従って、gcloud CLI をインストールを行う
  2. クライアントにて gcloud compute config-ssh を実行する(ログインして実行してください)
    2023-06-09 232110.png
  3. ssh-keygen -t ed25519 -f gce_ed25519 -C <ユーザー名> をクライアントで実行して Ed25519 鍵を作成する(ファイル名は変更OK)
    image.png
  4. .sshフォルダに生成された公開鍵(gce_ed25519.pub)の中身のテキストをコピー
  5. Google Cloud Console から VM の編集ページを開き、SSH 認証鍵に貼り付け
    pic.png
  6. .sshフォルダにconfigファイルが生成されているので、中身を確認する
    1. IdentityFileの部分を 生成した秘密鍵(gce_ed25519)に変更する
    2. Hostの部分をコピーする(これがホストになります)
      pic2.png
  7. 外部のSSHクライアントで ssh <ユーザー名>@<ホスト> を実行して、VMへアクセスする

さいごに

あとは、ポート変更とファイアウォールの設定変更でもしてセキュリティを高めましょう。また、お使いの回線が IPoE であれば、SSH できる IPv4 を制限するとより良いかと。

なお、ネットワーク インターフェース外部 IPv4 アドレスエフェメラル にしている場合、ホスト名が定期的に変わります。
ホスト名の変更があると、ホスト名の解決ができなくなり、外部のSSHクライアントから接続できなくなってしまいます。gcloud compute config-ssh を実行して、configファイルを再生成してあげてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0