少しはまったので、備忘を兼ねて記載しております。
■はじめに
Ubuntuで少し作業したく、EC2で以下の通りAMIを選択し、特段変わった設定をすることなくEC2起動状態までいけたのですが、TeraTerm使ってUbuntuにSSHログインができない・・・という事象に悩まされたので、その解決策を記載しております。
選んだAMIは以下です。
■SSHログインができなかった理由
Ubuntu22.04LTSのSSH サービスでssh-rsa がデフォルトで無効になっているためです。。。
(全然知らなかった)
■解決策
ssh-rsaを有効にすれば、いつも通りTeraTermを使ってSSHログイン可能になります。
※ssh-rsaが使えなくなっているだけなので、ECDSAを使ってのSSHログインはできます。
今回はPowershellからSSH接続を行い、設定変更後、TeraTermでのSSHログイン確認を行う流れです。
1.Powershellを起動します。
2.キーペアを使うため、キーペアの保管場所を確認致します。
※以降は、カレントディレクトリにキーペアがあるものとして記載しております。
3.以下コマンドを実行します。
ssh -i key-pair.pem ubuntu@UbuntuサーバのグローバルIPアドレス
4.Ubuntuサーバにログインできたことを確認します。
5.引き続きPowershellでUbuntuにログインしている状態で以下コマンドを実行します。
sudo su -
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_org
sed -i '1s/^/PubkeyAcceptedAlgorithms=+ssh-rsa\n/' /etc/ssh/sshd_config
grep PubkeyAcceptedAlgorithms /etc/ssh/sshd_config
systemctl restart ssh.service
systemctl status ssh.service
exit
exit
6.TeraTermからUbuntuサーバにログインしてみます。
以上です。