Windows の OpenSSH で Permission denied が出る原因
状況
- パスワードでのログインは可能 (ただし、設定で無効化している)
- 公開鍵認証で
Permission denied
が出る
実際に localhost:22
に接続すると、
hikari@localhost: Permission denied (publickey,keyboard-interactive).
とエラーが出る。
原因
Administrators
グループ、つまり「管理者ユーザー」はデフォルトで、C:\ProgramData\ssh\administrators_authorized_keys
の公開鍵を
参照して認証しているようだ。
これを、$env:userprofile\.ssh\authorized_keys
に変更する。
解決法
管理者権限で C:\ProgramData\ssh\sshd_config
を開き、以下のように下の二行をコメントする。
- Match Group administrators
- AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
+ #Match Group administrators
+ # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
保存が終わったら、サービスを再起動する。
Restart-Service sshd