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の部分を対象のユーザーに読み替えてください。
- VPSにSSHでrootユーザーでログインして鍵のペアを生成します。
# pwd /root # ssh-keygen -t rsa
- /root/.ssh/ 配下に生成された公開鍵(id_rsa.pub)を authorized_keys として保存します。
# cd .ssh # cat id_rsa.pub > authorized_keys
- 秘密鍵(id_rsa)の内容をコピーして、クライアント側に id_rsa 等のファイル名で保存します。
- PuTTYgen を起動し、[Load] ボタンから先ほどVPSからコピペした秘密鍵を読み込みます。
- [Save private key] ボタンから id_rsa.key 等のファイル名で秘密鍵を保存します。
- 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