RLoginやVS CodeでSSH接続できなかったので、その対処法。
経緯
PCを交換しWindows10からWindows11に変更。
RLoginでLinuxサーバーにSSH接続を試すも失敗。
その後、VS CodeのRmote SSHでも失敗。
下記2種類のエラーでログインできなかったので対処法をメモ。
- gssapi-with-micエラー
- SSHエラー
gssapi-with-micエラー
gssapi-with-micのエラー内容
RLoginのエラー内容
RLoginでログインしようとした際に、以下のエラーが発生。
SSH2 User Auth Failure "publickey.gssapi-keyex,gssapi-with-mic" Status=1004 Send Disconnect Message... gssapi-with-mic({サーバーのIP})
VS Codeのエラー内容
VS CodeのRemote SSHを使用し、サーバーにログインしようとした際に以下のエラーが発生。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
gssapi-with-micエラーの対処法
調べてみるとユーザー名が間違ってたりするとこのエラーになるみたいなんですが、今回は違う理由でした。
ただの秘密鍵の指定ミスw
正しい秘密鍵を使用していなかったのでエラーでした。
秘密鍵(PrivateKey)を忘れていないか、指定ミスがないか確認してみましょう。
SHAエラー
SHAのエラー内容
RLoginで以下のエラーが発生。
SSH2 User Auth Failure "publickey.gssapi-keyex,gssapi-with-mic" Status=1004 Send Disconnect Message... publickey(rsa-sha2-256), gssapi-with-mic({サーバーのIP}) You may need to change the ssh-rsa key sign algorithm SHA1 to SHA2-256/512
SHAエラーの対処法
公開鍵、秘密鍵がSHA1で作成されていて、それを使用しているためエラー。
セキュリティ的にもSHA2で作成しなおしたほうが良いです。
どうしても、今あるキーでログインしたい場合は、RLoginの設定を一時的に変更してログイン。
変更方法は以下。
- サーバーを選択し、「編集」ボタンをクリック
- 左メニューから「プロトコル」を選択
- 「RSA2認証鍵の署名方式」を「SSH1」に変更し、「OK」ボタンをクリック
これでログインできるようになりました。
それでもログインできない場合は、「known_hosts」に書き込まれた内容を削除してみてください。
・削除方法
- 「C:/Users/{user name}/.ssh/known_hosts」を開き、対象のサーバの記述を削除。
SSH1でログインできたからといってそのままにしておかず、早めにSHA2に変更しておきましょう!
その際にサーバー側がOPENSSH7.2以前だとSHA1のみのようなので、OPENSSHのバージョンも確認し必要ならアップデートしておきましょう。
・OPENSSHのバージョン確認コマンド
ssh -V