EC2へのTeraTermによるSSH接続
はじめに
Tera TermでEC2へ接続するのに手こずったため、記録として残しておきます。
目標と結果
目標はEC2インスタンスにTera TermによるSSH接続の実現です。
結果はキーペアのタイプをRSAではなく、ED25519にすることでSSH接続することができました。
取り組んだこと
・とりあえずEC2インスタンスを起動します。
- AMIは「Amazon Linux 2023 AMI」を選択します。
- インスタンスタイプは「t2.micro」を選択します。
- 新しいキーペアを作成します。
3-1. そして今回のミソであるキーペアのタイプを選択します。
3-2. ここでRSAを選択してみましょう。
4. ネットワーク設定は、EC2インスタンスをパブリックサブネット内に起動して、
パブリックIPアドレスを割り当てて、SSHトラフィックを許可さえすれば、
その他ネットワーク設定はデフォルト値で良いと思います。
5. その他ストレージの設定等もデフォルト値でEC2インスタンスを起動します。
・起動したEC2インスタンスへTera TermによるSSH接続を試みてみます。
- EC2インスタンスのパブリックIPアドレスを入力して、「OK」をクリックします。
- 初回接続時に、出力される警告であり、「続行」で問題ありません。
- ユーザ名はデフォルトの「ec2-user」を入力し、
作成したプライペートキーを選択して、「OK」をクリックします。
・EC2を起動して、再度Tera TermでSSH接続します。
- 今回は、キーペアのタイプはRSAではなく、ED25519を選択します。
その他の設定は最初の設定と同様です。
- 先程と同様に、ユーザ名はデフォルトの「ec2-user」を入力し、
作成したプライペートキーを選択して、「OK」をクリックします。
これで接続できました。
原因
Amazon Linux 2023のSSHサーバー側は、ssh-rsa署名がデフォルトで使えないためです。詳細は以下URLを参照ください。要するにセキュリティ向上のための対応ですね。
ちなみに、RSAが使えなくなったわけではなく、rsa-sha2-256またはrsa-sha2-512では、接続可能らしく、私のTera Termのバージョンではサポートしてないかったようです。
おわりに
ちょっとキーペアの基礎的な知識からまとめます。
・キーペアは、EC2インスタンスへの安全なSSh接続を可能にする
・SSHを使用してEC2インスタンスに接続する場合は、キーペアを指定する必要がある
・キーペアには、プライベートキーとパブリックキーを含む
・パブリックキーは、EC2インスタンス内に保管される
・プライペートキーは、自分で管理する
・Amazon EC2は、ED25519および2048-bit SSH-2 RSAキーをサポートしている
私はずっとネットワーク設定の問題で通信できていないと思っていました。
ずっとVPCやサブネット、セキュリティグループの設定とにらめっこしていました。
あとパブリックIPも自動で割り当てたり、手動で割り当てたりわけわからないことをしていました。
Discussion