🐙

EC2へのTeraTermによるSSH接続

2023/11/03に公開

はじめに

Tera TermでEC2へ接続するのに手こずったため、記録として残しておきます。

目標と結果

目標はEC2インスタンスにTera TermによるSSH接続の実現です。
結果はキーペアのタイプをRSAではなく、ED25519にすることでSSH接続することができました。

取り組んだこと

・とりあえずEC2インスタンスを起動します。

  1. AMIは「Amazon Linux 2023 AMI」を選択します。
  2. インスタンスタイプは「t2.micro」を選択します。
  3. 新しいキーペアを作成します。
    3-1. そして今回のミソであるキーペアのタイプを選択します。
    3-2. ここでRSAを選択してみましょう。


4. ネットワーク設定は、EC2インスタンスをパブリックサブネット内に起動して、
パブリックIPアドレスを割り当てて、SSHトラフィックを許可さえすれば、
その他ネットワーク設定はデフォルト値で良いと思います。

5. その他ストレージの設定等もデフォルト値でEC2インスタンスを起動します。


・起動したEC2インスタンスへTera TermによるSSH接続を試みてみます。

  1. EC2インスタンスのパブリックIPアドレスを入力して、「OK」をクリックします。
  2. 初回接続時に、出力される警告であり、「続行」で問題ありません。
  3. ユーザ名はデフォルトの「ec2-user」を入力し、
    作成したプライペートキーを選択して、「OK」をクリックします。

・EC2を起動して、再度Tera TermでSSH接続します。

  1. 今回は、キーペアのタイプはRSAではなく、ED25519を選択します。
    その他の設定は最初の設定と同様です。
  2. 先程と同様に、ユーザ名はデフォルトの「ec2-user」を入力し、
    作成したプライペートキーを選択して、「OK」をクリックします。

これで接続できました。

原因

Amazon Linux 2023のSSHサーバー側は、ssh-rsa署名がデフォルトで使えないためです。詳細は以下URLを参照ください。要するにセキュリティ向上のための対応ですね。
ちなみに、RSAが使えなくなったわけではなく、rsa-sha2-256またはrsa-sha2-512では、接続可能らしく、私のTera Termのバージョンではサポートしてないかったようです。
https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/ssh-host-keys-disabled.html

おわりに

ちょっとキーペアの基礎的な知識からまとめます。
・キーペアは、EC2インスタンスへの安全なSSh接続を可能にする
・SSHを使用してEC2インスタンスに接続する場合は、キーペアを指定する必要がある
・キーペアには、プライベートキーとパブリックキーを含む
・パブリックキーは、EC2インスタンス内に保管される
・プライペートキーは、自分で管理する
・Amazon EC2は、ED25519および2048-bit SSH-2 RSAキーをサポートしている

私はずっとネットワーク設定の問題で通信できていないと思っていました。
ずっとVPCやサブネット、セキュリティグループの設定とにらめっこしていました。
あとパブリックIPも自動で割り当てたり、手動で割り当てたりわけわからないことをしていました。

Discussion