administrators_authorized_keys は、Windows OpenSSH サーバー (sshd) において、管理者権限で SSH 公開鍵認証を行うための特別なファイルである。
通常のユーザーごとの ~/.ssh/authorized_keys とは異なり、このファイルに登録された公開鍵を使用すると、管理者権限で Windows に SSH 接続が可能となる。
administrators_authorized_keys は、デフォルトで以下のパスに配置される:
C:\ProgramData\ssh\administrators_authorized_keys
このファイルには、管理者アカウントでの SSH 公開鍵認証を許可するための公開鍵が格納される。
このファイルを利用するには、sshd_config で以下のオプションが有効になっていることを確認する。
C:\ProgramData\ssh\sshd_config を開き、以下の行が有効になっていることを確認する。
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/administrators_authorized_keys
変更後、sshd を再起動する。
Restart-Service sshd管理者アカウントとして SSH 接続を許可するため、公開鍵 (id_rsa.pub など) を C:\ProgramData\ssh\administrators_authorized_keys に追加する。
cat C:\Users\Administrator\.ssh\id_rsa.pub >> C:\ProgramData\ssh\administrators_authorized_keysファイルの改行が正しく維持されていることを確認し、適切なアクセス権限を設定する。
Windows OpenSSH では、適切なアクセス権限が設定されていないと administrators_authorized_keys は無視される。
icacls "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r
icacls "C:\ProgramData\ssh\administrators_authorized_keys" /grant "Administrators:R"
icacls "C:\ProgramData\ssh\administrators_authorized_keys" /grant "SYSTEM:R"これにより、管理者とシステムのみがこのファイルを読み取れるようにする。
- 管理者権限で SSH 公開鍵認証を統一的に管理できる。
- 各ユーザーの
authorized_keysに依存せず、特定の管理者アカウントでの認証を簡単に設定可能。 - Windows の SSH 管理を強化し、パスワード不要のセキュアな接続を実現。
- 適切なアクセス権限を設定しないと機能しない。
- 管理者権限での SSH 認証が有効になるため、セキュリティリスクが増加する可能性がある。
- 不要な公開鍵が登録されないように定期的に監査を行うことが推奨される。
-
Microsoft Docs: OpenSSH for Windows
-
OpenSSH
sshd_configマニュアル -
PowerShell
icaclsコマンドの詳細
administrators_authorized_keysは Windows OpenSSH における管理者権限の SSH 公開鍵認証を管理するための特別なファイル。C:\ProgramData\ssh\administrators_authorized_keysに公開鍵を追加し、適切なアクセス権限を設定することで機能する。- セキュリティ対策として、不要な鍵の削除やファイルの監査を定期的に実施することが推奨される。