管理者モードになっています。これは多分 sshd_config でなんとかしないといけないんだと思いますが、これはまあそのうち。などと書いたままペンディングになっている件です。
sshd_config もよく眺めてみたんですが、どうもこれじゃないっぽい。とすると SSHD.EXE を実行している Windows サービス側のパーミッション関係かな、と考えてみました。
そこで、ノーマルモードで SSHD.EXE を起動してみると、
C:\Users\kats$ c:\Windows\System32\OpenSSH\sshd Could not load host key: __PROGRAMDATA__\\ssh/ssh_host_rsa_key Could not load host key: __PROGRAMDATA__\\ssh/ssh_host_ecdsa_key Could not load host key: __PROGRAMDATA__\\ssh/ssh_host_ed25519_key sshd: no hostkeys available -- exiting.みたいなことになります。
ファイル自体は存在するので、読み取りパーミッションの関係でエラーになっています。検索してみると、OpenSSH utility scripts to fix file permissionsというページがありました。FixHostFilePermissions.ps1 などの PowerShell スクリプトでパーミッションを適切に設定する、というユーティリティです。
これはどうも一緒にインストールされているわけではないらしく、https://github.com/PowerShell/openssh-portable/blob/latestw_all/contrib/win32/openssh/FixHostFilePermissions.ps1に現物があります。
実行するには OpenSSHUtils.psm1 というPowerShell モジュールも必要のようで、一緒にダウンロードしておきます。
PowerShell から FixHostFilePermissions.ps1 を起動してみると、
Current owner: ''. 'NT AUTHORITY\SYSTEM' should own 'C:\ProgramData\ssh\ssh_host_ecdsa_key'. Shall I set the file owner? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"):みたいなプロンプトがでてきます。ということは、これを実行するには PowerShell も管理者権限で起動していないといけません。
XXX: write me
0 件のコメント:
コメントを投稿