OpenSSH for WindowsでSSHログインすると管理者権限になる件。

Windows 10 1809とOpenSSH。その2で、
管理者モードになっています。これは多分 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 件のコメント:

コメントを投稿

Vimの補完プラグインをインストール。その4

Vimの補完プラグインをインストール。その3 で、 ddc-tabnine が使えそうです、などと書いたのですが、早速やってみました。 まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、 tabnine-nvim にあるダ...