現象
EC2インスタンスを作成時に作った鍵で、TeraTermからEC2にログインできない。
「認証に失敗しました。再試行してください。」と出ます。
ホストやポートの設定
ユーザや鍵の指定画面までは行きます
認証に失敗しました。再試行してください。
前提
- Amaon Linux 2023に、Windows11から接続
- TeraTermのバージョンは4.106
- WinSCP(6.3.1)からは同じ鍵(ppk)で接続できる
- PowerShellのsshコマンドからは同じ鍵をOpenSSH形式(pem)に変換した鍵で接続できる
対処方法1
TeraTermのバージョンを4.107以上に更新します。
対処方法2
何らかの事情でTeraTermが更新できない場合は、PowerShellからAmazon Linux 2023 にログインして、暗号化ポリシーを変更します。これは、サーバー側のセキュリティが低下しますので推奨されませんが応急処置です。
//鍵の置いてあるディレクトリで
ssh -i "key.pem" ec2-user@{ec2のIPまたはDNS名}
//rootに切替
$ sudo su
//現在の暗号化ポリシーを表示
# update-crypto-policies --show
DEFAULT
//暗号化ポリシーを変更
# update-crypto-policies --set LEGACY
Setting system policy to LEGACY
Note: System-wide crypto policies are applied on application start-up.
It is recommended to restart the system for the change of policies
to fully take place.
//OSを再起動
# shutdown -r now
定義済み暗号化ポリシーレベル
DEFULT | ディフォルトの暗号化ポリシーレベルで、基本的にはDEFULTにしておけば現状の脅威に対しては安全と言える設定です。 |
LEGACY | RHEL6以前と互換性のあるレベルですが、その分安全性が下がる事になります。 |
再度同じ設定と鍵でTeraTermから接続すると、無事ログインできます。
解説
LinuxのOSバージョンが上がったことにより、OSのSSH サービスにて ssh-rsa がデフォルトで無効にされ、公開鍵認証 を利用した SSH アクセスができない状態となります。
TeraTermのバージョンを上げればそのまま接続可能ですので、可能な限りアップデートを行う対処をしましょう。