【エラー解決方法】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クライアントが対応してくれることを祈ってます。

記事をシェア
MOST VIEWED ARTICLES