はじめに
Amazon Linux 2のサーバーを更新するため、同じインスタンスタイプかつ同じセキュリティグループでAmazon Linux 2023のサーバーを立ち上げたのですが、RLoginで接続しようとすると以下のエラーが発生しました。
このエラーは「ログインユーザー名が空欄である時」や「サーバーが認識しないキーを使った時」に発生するようですが、ログインユーザー名(ec2-user)もキーペアも正しいものを使用していたので、原因が全く分かりませんでした。
解決の糸口
- 偶然見つけたこちらの記事を読んでみると以下のように書かれており、私の環境で起きた現象と全く同じでした。
AL2023以前のサーバには問題なくつながるのに、
AL2023に接続しようとすると下記のようなエラーがでるようになった。
SSH2 User Auth Failure “publickey.gssapi-keyex,gssapi-with-mic”Status=1004
- そこで上記のtsuchinagaさんの記事と私の環境を比較してみると、バージョンがほぼ同じであることが分かったので、tsuchinagaさんの方法(※RLoginのバージョンアップ)で問題が解決するか試してみることにしました。
tsuchinagaさんの環境(旧)のRLogin | 私の環境のRLogin |
---|---|
Version 2.25.4 | Version 2.25.0 |
RLoginのバージョンアップを試してみる
設定のバックアップ
- RLogin上で設定した接続情報が消えてしまわないように、バージョンアップの前に[ヘルプ]>[プライベートプロファイル作成]を選び、
RLogin.ini
を出力しておきます。
RLoginのバージョンアップ
- 続いてRLoginの公式サイトから、ZIP化されている実行プログラムをダウンロードします。
- 今回ダウンロードしたRLoginのバージョンは「2.29.2」となります。
- ZIPを展開してrlogin.exeを所望のフォルダに保管した後、
RLogin.ini
をrlogin.exeと同じフォルダに入れてからRLoginを起動します。 - RLoginを起動すると「プライベートプロファイルの圧縮を有効にして全ての設定を更新しますか?下位互換が無い更新になりますのでご注意ください。」というメッセージが出るので、ここで[はい]を選びます。
- このメッセージは、RLogin.iniを出力した時のrlogin.exeのバージョンによっては表示されないケースがあるかもしれません。
認証鍵の署名方式の確認
- 比較的新しいバージョンのOpenSSH(OpenSSH 8.8以降)だと認証鍵の署名方式としてSHA1が無効化されているため、SHA2などに設定されていることを確認しておきます。
- もし認証鍵の署名方式がSHA1になっていると、「RSA認証鍵の署名方式をSHA2-256/512に変更する必要があるかもしれません。」というメッセージが表示されてサーバーに接続できません。
接続テスト
- ここまでの設定で、以下のようにAmazon Linux 2023に接続することができました。
- 詳細な理由は不明ですが、やはりRLoginのバージョンが古いとAmazon Linux 2023には接続できないようです。