
【エラー解決方法】Red Hat Enterprise Linux 9でSSHログインができないときの対処法
目次
こんにちは。ぐっさんです。
Red Hat Enterprise Linux 9でSSHログインができず、少し苦労したので、その際の解決方法をご紹介します。
エラー内容
Teratermでログインしようとすると、「認証に失敗しました。再試行してください」となり、Poderosaで試したところ、「The negotiation of key algorithm is failed」となり、ログインできませんでした。
エラー原因
ログインできない原因を調査したところ、OpenSSHに8.7p1バージョンを採用しており、RSA/SHA-1がデフォルトで非推奨になっているからでした。現在、試したSSHクライアントでは、RSA/SHA-256などのより強度の高い方式は対応していないようでした。
エラー解決方法
SSHクライアントでログインするようにするためには、セキュリティレベルは下がってしまいますが、SHA1をデフォルトに設定することでログイン可能になります。
AWSのEC2で構築した場合、EC2を停止状態にし、「ユーザーデータの編集」で下記をユーザーデータを記載することでSHA1をデフォルトにできます。
#!/bin/bash
sudo update-crypto-policies –set DEFAULT:SHA1
ユーザー編集画面は、アクションメニューから「インスタンスの設定」→「ユーザーデータを編集」で表示できます。
ユーザーデータ編集の新しいユーザーデータで、「ユーザーデータをテキストで変更」を選択肢、テキストエリアにコマンドを入力し、「保存」を押します。
また、もう1点注意が必要で、EC2のインスタンスを作成するにあたり、キーペアを指定する場合は、キーペアのタイプをED25519にする必要があります。
これで、SSHクライアントでSSHログインができるようになりました。
まとめ
セキュリティレベルが下がってしまいますが、運用との兼ね合いで判断が必要かと思います。あとは、SSHクライアントが対応してくれることを祈ってます。

