この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
Ubuntuは、Canonical Group, Ltd.の登録商標です。
問題の症状
AWS にて Ubuntu22.04 LTS のサーバが出たとの事で、新しくインスタンスを立ち上げたところSSH接続できない問題に遭遇。同じ症状で困っている方も居ると思いますので、備忘録代わりに対策を残しておきます。
ちなみにSSHクライアントのソフトを最新バージョンにアップグレードしてもダメ。AWS のサポートに問い合わせてみても Ubuntu の開発会社に問い合わせてください!の一点ばりでドツボにハマったので暫く絶望していました(笑)
SSH接続できない原因
SSH接続できない理由は、Ubuntu22.04 から ssh-rsa がデフォルトで無効化されたため。つまり今まで使用していた公開鍵・秘密鍵の証明書では、ログインできないです!
Ubuntu22.04 LTS にログインする方法
結論から言うとAWS にあるキーペアを新しく「ED25519」形式で作って、キーペア(ログイン)に指定してください。
AWSのキーペア新規作成の画面を確認すると、キーペアのタイプに RSA 形式と合わせて ED25519 形式が追加されています。なので ED25519 でファイルを生成すれば、RSA と同じく公開鍵がダウンロードできます。ログイン時にはダウンロードしたファイルを指定すればSSH接続できます!
なお公開鍵の中身は下記の通り。
1 2 3 4 5 6 7 8 9 |
PuTTY-User-Key-File-2: ssh-ed12345 Encryption: none Comment: sample_ED25519 Public-Lines: 2 AAAAC4Dz----------------(省略)---------------------------z5TBcwG kfZO Private-Lines: 1 AAAAICBR-------------(省略)--------------8A9Zzxy Private-MAC: 78--------------(省略)----------------48 |
証明書の形式がかなり変わっていますね。
さいごに
ED25519 のキーペアは、エドワーズ曲線デジタル署名アルゴリズムを使用した公開鍵暗号のようです。僕も知ったばかりの形式なので気づいたら関連記事も書いていきたいと思います。