古いRLoginだとAmazon Linux 2023に接続できない？

# はじめに

Amazon Linux 2のサーバーを更新するため、同じインスタンスタイプかつ同じセキュリティグループでAmazon Linux 2023のサーバーを立ち上げたのですが、RLoginで接続しようとすると以下のエラーが発生しました。

このエラーは「[ログインユーザー名が空欄である時](https://choppydays.com/%E3%80%8Cssh2-user-auth-failure-publickey-gssapi-keyexgssapi-with-micstatus1004%E3%80%8D%E3%81%A7ssh%E6%8E%A5%E7%B6%9A%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8B/)」や「[サーバーが認識しないキーを使った時](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesServerError)」に発生するようですが、ログインユーザー名（ec2-user）もキーペアも正しいものを使用していたので、原因が全く分かりませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/312166/a0c0a0e6-9c90-facc-f467-1062df47f6ad.png)

# 解決の糸口

* 偶然見つけた[こちらの記事](https://scrapbox.io/tsuchinaga/RLogin%E3%81%A7AL2023%E3%81%ABSSH%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E8%A9%B1)を読んでみると以下のように書かれており、私の環境で起きた現象と全く同じでした。

> 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`を出力しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/312166/995f1e2d-40ad-df3e-e69f-905cedf12220.png)

## RLoginのバージョンアップ

* 続いて[RLoginの公式サイト](https://kmiya-culti.github.io/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などに設定されていることを確認しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/312166/3bf1bbb9-dfa7-e081-1dcb-09c23a56a379.png)

* もし認証鍵の署名方式がSHA1になっていると、「RSA認証鍵の署名方式をSHA2-256/512に変更する必要があるかもしれません。」というメッセージが表示されてサーバーに接続できません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/312166/a94e5b9a-cde0-eaee-daa2-9b5aa4690d5f.png)


## 接続テスト

* ここまでの設定で、以下のようにAmazon Linux 2023に接続することができました。
* 詳細な理由は不明ですが、やはりRLoginのバージョンが古いとAmazon Linux 2023には接続できないようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/312166/91840e63-bef0-0a4a-b677-320391b2eb63.png)


# 参考URL

* [「SSH2 User Auth Failure “publickey.gssapi-keyex,gssapi-with-mic”Status=1004」でSSH接続エラーになる場合の原因と対処法](https://choppydays.com/%E3%80%8Cssh2-user-auth-failure-publickey-gssapi-keyexgssapi-with-micstatus1004%E3%80%8D%E3%81%A7ssh%E6%8E%A5%E7%B6%9A%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8B/)
* [エラー: ユーザーキーがサーバーによって認識されない - インスタンスへの接続に関するトラブルシューティング](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesServerError)
* [RLoginでAL2023にSSH接続できなかった話](https://scrapbox.io/tsuchinaga/RLogin%E3%81%A7AL2023%E3%81%ABSSH%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E8%A9%B1)