LoginSignup
3
2

More than 1 year has passed since last update.

AWSでUbuntu Serverを立てるときはキーペアに要注意

Last updated at Posted at 2022-09-10

AWSでUbuntu Serverを構築したときに、なぜかSSH接続できなくて困ったため備忘録として残します

結論

  • Ubuntu ServerのキーペアはRSAタイプではなく、ED25519タイプで作成する必要がある
    • Ubuntu 22.04で採用されているOpen SSHのバージョンでは、RSAタイプの鍵が無効化されたため
  • Ubuntu 20.04まではRSAタイプのキーペアが使える
RSAタイプのキーペア ED25519タイプのキーペア
Ubuntu 22.0.4 デフォルトでは使用不可 デフォルトで使用可
Ubuntu 20.0.4 デフォルトで使用可 デフォルトで使用可

やってみる

Ubuntu 22.04にRSAタイプのキーペアでアクセスしてみる

Ubuntuが載ったインスタンスを作成します
image.png

キーペアはRSAを指定して作成します
1.png

TerraTermでRSA鍵を使ってログインしようとすると、失敗します

4.png

※Ubuntuの場合、ユーザー名は「ubuntu」なのでご注意ください。

Ubuntu 22.04にED25516タイプのキーペアでアクセスしてみる

次に、ED25516タイプのキーペアを作成してアクセスしてみます

先ほどと同様、Ubuntuインスタンスを作成します
image.png

キーペアはED25516を指定して作成します
2.png

ED25516鍵を使用してアクセスを試みると。。。
5.png

ログインできました!
6.png

Ubuntu 20.04にRSAタイプのキーペアでアクセスしてみる

じゃあどのバージョンならRSAタイプのキーを使用できるのか、試しにひとつ前のバージョン「20.04」のUbuntu で試してみました

image.png

一番最初に作成したRSA鍵を使用してアクセスを試みると。。。
7.png

ログインできました!
8.png

Ubuntu 20.04にED25516タイプのキーペアでアクセスしてみる

最後に、ED25516でもアクセスできるか試してみます

ED25516鍵を使用してアクセスを試みると。。。

9.png

ログインできました!!
やはり、ED25516タイプならどのバージョンでも使用可能のようです
10.png

RSAタイプでUbuntu 22.04を立ち上げてしまった場合の対処方法

作成しなおしをしないといけないわけではなく、対処方法もあります
PowerShellなどのTeraTerm以外のツール使ってログインし、sshd_configの中身を書き換えることで、TeraTermからRSA鍵を使ってログインできるようになります

  1. PowerShellでssh接続
    > ssh -i 鍵ファイルのパス ubuntu@インスタンスのパブリックIPアドレス
    
  2. root権限に変更してからsshd_configの中身を書き換え、sshサービスを再起動する
    $ sudo su
    # cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
    # sed -i '1s/^/PubkeyAcceptedAlgorithms=+ssh-rsa\n/' /etc/ssh/sshd_config
    # systemctl restart ssh.service
    

(以下URLより抜粋しています)

なぜRSAタイプのキーペアは無効化されてしまったのか

調べてみたところ、ED25516鍵はRSA鍵よりも強固な暗号化アルゴリズムに対応しているようです

じゃあこれから全部のキーペアをED25516にすればいいのかというと、どうやらそうでもなさそうです
以下の記事を見ると、Windowsインスタンスでは使用できなかったり、シリアルコンソールでサポートされていなかったりするようです

試しにWindowsServerを作成してみましたが、確かにED25516鍵は選ぶことができませんでした

11.png

Ubuntuインスタンスの場合は迷いなくED25516タイプで作成してよいと思いますが、その他の場合はどちらを使うのか考える必要がありそうです

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2