専用サーバーデバイスは、ssh
1 つのログインアカウントでのみログインを許可します。
- 公開鍵のみを使用した認証、
- そして設定されたコマンドを実行します
ForceCommand
。
ログインアカウントは複数のIDで使用でき、各IDにはに登録されている公開鍵がありますauthorized_keys
。
これらの公開鍵のいくつかのコマンドに制御トークンを渡したいと思います。
環境変数を使用してこれを達成できますenvironment=
。authorized_keys
PermitUserEnvironment
グローバルオプション(sshd_config
ブロックではサポートされていませんMatch
)。
を有効にすると、PermitUserEnvironment
クライアントは環境変数を渡すこともできます。しかし、次の理由でこれは安全だと思います。
AcceptEnv
クライアントは、サーバーの設定で許可されている変数のみを渡すことができます。- 設定された変数は、
authorized_keys
クライアントから渡された変数よりも優先されます。 - 唯一の有効なログインは強制コマンドを実行するため、環境を調整できるインタラクティブシェルにアクセスできません。
だから私は信じる
- 使用方法がわからない場合は、
AcceptEnv
クライアントが環境変数を渡すことはできません。 - すべての公開鍵に変数値を設定すると(誤って)、許可されていてもクライアントがそれを上書きする方法はありません
AcceptEnv
。 - シェルアクセスがないため、環境を変更する他の方法はありません。
この製品を使用しても安全ですかPermitUserEnvironment
?それとも上記で検討していない他のリスクはありますか?