RLogin、VS CodeでSSH接続できない!?SSH2のエラー「publickey,gssapi-keyex,gssapi-with-mic」の対処

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の設定を一時的に変更してログイン。

変更方法は以下。

  1. サーバーを選択し、「編集」ボタンをクリック
  2. 左メニューから「プロトコル」を選択
  3. 「RSA2認証鍵の署名方式」を「SSH1」に変更し、「OK」ボタンをクリック

これでログインできるようになりました。

それでもログインできない場合は、「known_hosts」に書き込まれた内容を削除してみてください。

・削除方法

  1. 「C:/Users/{user name}/.ssh/known_hosts」を開き、対象のサーバの記述を削除。

SSH1でログインできたからといってそのままにしておかず、早めにSHA2に変更しておきましょう!

その際にサーバー側がOPENSSH7.2以前だとSHA1のみのようなので、OPENSSHのバージョンも確認し必要ならアップデートしておきましょう。

・OPENSSHのバージョン確認コマンド

ssh -V