Windows サービス ファイル アクセスの許可

Windows サービス ファイル アクセスの許可

サービスを使用して openssh との接続を実行しようとしています。残念ながら、openssh では、認証キーは、それを使用する 1 人のユーザーのみが読み取れる必要があります (そのチェックをスキップする方法があるかどうかはわかりません)。これは、次の方法を使用して、通常のユーザーで問題なく動作します。

icacls .\private.key /inheritance:r
icacls .\private.key /grant:r "%username%":"(R)"

Windows サービスは独自のセミユーザーを実行しますが、そのユーザーに適切なファイル権限を与えることはまったくできません。

編集: 認証キーを使用してトンネルを作成するために使用できる、オープンソースまたは無料で使用できる他の SSH プログラムまたはライブラリについて良いアイデアをお持ちの方がいらっしゃいましたら、ぜひ教えてください。それらの多くは、Windows を適切にサポートするのに問題があるようです。

答え1

簡単に見つけられるように回答として投稿します (元々はコメント内)。

Windows サービスが実行されるデフォルトのユーザー名は、単に「SYSTEM」です。したがって、権限を設定するコマンド ライン メソッドは次のとおりです。

icacls .\private.key /inheritance:r
icacls .\private.key /grant:r "SYSTEM":"(R)"

関連情報