SSH 公開鍵暗号 Windows10 アクセス権? 嵌った時のメモ

Winwos10をアクセス先としてSSH接続。

パスワードでは接続できるけど、公開鍵暗号で接続できなかった。

何故だろうといろいろ試したけど結構単純な理由だったかも。

状況からみると、サービスで起動すると接続できない。

サービスだと、LocalSystem アカウントで実行されている。


net stop sshd
net start sshd

デバッグでさんざん user アカウントで実行したときは接続できていた。

要はcmdからこれで起動するとつながるという現象が起きていた。


net stop sshd
C:\Windows\System32\OpenSSH\sshd.exe

要は、LocalSystem アカウントとのアクセス権の違いが原因だったかも。



icacls %USERPROFILE%\.ssh /grant "NT AUTHORITY\SYSTEM:(F)"
icacls %USERPROFILE%\.ssh\authorized_keys /grant "NT AUTHORITY\SYSTEM:(F)"

多分これだと思うな。

他いろいろ、以下もパーミッションとか確認してたんだけど関係なかったかもなぁ。


C:\Users\user ディレクトリ:ユーザーの所有者がフルコントロールを持つ。
C:\Users\user\.ssh ディレクトリ:ユーザーの所有者がフルコントロールを持つ。
C:\Users\user\.ssh\authorized_keys ファイル:ユーザーの所有者がフルコントロールを持つ。


icacls C:\Users\user /grant user:F
icacls C:\Users\user\.ssh /grant user:F
icacls C:\Users\user\.ssh\authorized_keys /grant user:F



 

まあ、これは当然やっていた設定。

C:\ProgramData\ssh\sshd_config の確認。



PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes

 

接続元で公開鍵、秘密鍵を作る。
ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
cat ~/.ssh/id_rsa.pub

id_rsa
pubid_rsa
ができて、

接続先の
.ssh\authorized_keys
に公開鍵を追加して。普通にこれでいかないというイレギュラーな状態だったわけだ。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です