PuTTYで生成した鍵でのSSH公開鍵認証時に「Server refused our key」エラー

カテゴリ:SSH

原因

「Server refused our key」エラーになる場合、SSHサーバー側(VPS)が PuTTY で生成した鍵を拒否しています。

鍵自体に何らかの問題があります。例えば鍵が SHA-1 RSA の可能性があります。

参考OpenSSH 7.4 以降の環境では SHA-1 の鍵の使用は無効になっています。

対処方法

VPS側で鍵のペアを作成し、秘密鍵をSSHクライアントに持っていく方法で解決できる可能性があります。

Note以下の手順はrootユーザーで公開鍵認証を実施する手順です。他のユーザーでログインする場合はrootの部分を対象のユーザーに読み替えてください。

  1. VPSにSSHでrootユーザーでログインして鍵のペアを生成します。
    # pwd
    /root
    
    # ssh-keygen -t rsa
    
  2. /root/.ssh/ 配下に生成された公開鍵(id_rsa.pub)を authorized_keys として保存します。
    # cd .ssh
    # cat id_rsa.pub > authorized_keys
    
  3. 秘密鍵(id_rsa)の内容をコピーして、クライアント側に id_rsa 等のファイル名で保存します。
  4. PuTTYgen を起動し、[Load] ボタンから先ほどVPSからコピペした秘密鍵を読み込みます。
  5. [Save private key] ボタンから id_rsa.key 等のファイル名で秘密鍵を保存します。
  6. PuTTYの [connection] > [SSH] > [Auth] > [Credential] で先ほど PuTTYgen で保存した秘密鍵を指定します。

注意 コピペしてきた秘密鍵をそのまま PuTTY に指定すると、以下のエラーが発生します。
Unable to use key file "C:\Users\hoge\ssh_key\id_rsa.ppk" (OpenSSH SSH-2 private key (new format))
PuTTY は OpenSSH の鍵には対応していないためです。

公開日時:2024年03月24日 10:37:22
最終更新日時:2024年04月24日 15:12:05

なお、VPS選びで迷ったらこちらの記事で主要VPSのメモリ容量ごとの月額、年額料金を比較していますので、是非参考にしてみてください。

SSHに戻る

「SSH」に関する他のTips

このページのトップに戻る