はじめに
AWS初学者な著者はいつかに購入したUdemyを使用して勉強していたところ、EC2インスタンスにて立てたAWS Linux2024にTeraTermからSSH接続をしよう!というフェーズでなぜかうまくログインが出来ませんでした。
発生環境
- OS:Windows11
- Tera Term:4.106
- 接続先:Amazon Linux 2023
作業内容
1.EC2を作成する
- AMI(Amazonマシンイメージ):Amazon Linux 2023
- セキュリティグループ:インバウンドルールにTCP 22番ポートが許可されているもの(SSH接続に必要な通信を許可)
- キーペア:プライベートキーが手元にあるもの、もしくは新規作成しプライベートキーをダウンロードする
2.SSH接続を実施する
- ユーザ名:デフォルトから変えていないので「ec2-user」
- 認証方式:RSA/DSA/ECDSA/ED25519鍵を使う→プライベートキーファイル
「認証に失敗しました。再試行してください」というエラーが出力される。
解決法
teratermのバージョン5をインストールするとSSH接続ができるようになった。
Why
おそらくteratermを最新バージョンにすれば治る噂を信じて先に検証してしまいましたが、よくよく調べたら以下のような記載を見つけました。
AWS Linux 2023 ユーザーガイド
AWS Linux 2023のユーザーガイドに以下2つの記述があります。
デフォルトの ssh-rsa 署名の無効化
AL2023には、ssh-rsa従来のホストキーアルゴリズムを無効にし、ホストキーの削減セットを生成するデフォルト設定が含まれています。クライアントは ssh-ed25519 または ecdsa-sha2-nistp256 ホストキーアルゴリズムをサポートする必要があります。
公開キー認証に RSA キーペアを使用する場合、SSH クライアントは rsa-sha2-256 または rsa-sha2-512 署名をサポートしている必要があります。
Tera Term 5.0 リリースノート
AWS Linux 2023のユーザーガイドに以下のような記述があります。
SSH鍵生成ダイアログのデフォルトの鍵形式を ED25519 に変更した。
Tera Termの設定を確認
[ Tera Term ] > [ 設定 ] > [ SSH ]を開き、以下の画像の赤枠を確認。
上は古いバージョン(Tera Term:4.106)、下は新しいバージョンの設定画面ですが、新しいバージョンにのみ 「rsa-sha2-256 または rsa-sha2-512」
がサポートされていることを確認しました。
「ecdsa-sha2-nistp256」
は両方に存在するので関係なさそう?
勉強不足ですみません。ここはまたタイミングあればちゃんと勉強して更新します。
参考サイト
・【EC2】Amazon Linux 2023にTeratermで接続できない?
・Amazon Linux 2023に対してTera Term接続
・ Tera Term 5.0 リリースノート
・AWS Linux 2023 ユーザーガイド
・Tera Term 5.0 がリリースされました!