ひかりの備忘録

Windows の OpenSSH で Permission denied が出る原因

状況

  • パスワードでのログインは可能 (ただし、設定で無効化している)
  • 公開鍵認証で Permission denied が出る

実際に localhost:22 に接続すると、

hikari@localhost: Permission denied (publickey,keyboard-interactive).

とエラーが出る。

image

原因

Administrators グループ、つまり「管理者ユーザー」はデフォルトで、C:\ProgramData\ssh\administrators_authorized_keys の公開鍵を 参照して認証しているようだ。

これを、$env:userprofile\.ssh\authorized_keys に変更する。

解決法

管理者権限で C:\ProgramData\ssh\sshd_config を開き、以下のように下の二行をコメントする。

image

- Match Group administrators
-        AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
+ #Match Group administrators
+ #       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

保存が終わったら、サービスを再起動する。

Restart-Service sshd