実際にログインしたユーザーの公開鍵フィンガープリントを取得し、どのユーザーがrootとしてログインしたかを識別したいと思います。これにより、 "/root/[FINGERPRINT]/ のようなサブフォルダに各ユーザーの bashrc を作成できます。 bashrc"。どうすればいいですか?私たちはsudoを使用したくありません! ! ! !
sshdのLogLevelをVERBOSEに切り替えると、auth.log/sercureで指紋を見ることができますが、役に立たないようです。
私たちはCentOS 6/7/8を使用しています
ベストアンサー1
質問に答えてください(他の人がこれが望ましいかどうかについて言及しました)。
environment="RUSER=Chris"
Chrisのキーの前に、environment="RUSER=Pete"
Peteのキーの前に来るように〜root / .ssh / authorized_keysを変更します。線は次のようにする必要があります
environment="RUSER=Pete" ssh-rsa AAAAB[snipped] pete@somewhere
次の行を含むようにsshd設定ファイル(通常は/etc/ssh/sshd_config)を編集します。
PermitUserEnvironment yes
環境処理を有効にします。sshd
再読み込みする設定ファイルをインポートします(私はps -ef | grep sshd\ -D
PIDを見つけて、それを使用してkill -HUP PID
デーモンにファイルを再読み込みさせます)。
この時点でsshを介してログインすると、RUSER
ログインに使用するキーを決定するために使用できる環境変数があります。
これで環境変数を設定できるので、シェルの起動ファイルを慎重に確認して、環境変数の予期しない値が望ましくない効果を引き起こさないことを確認する必要があります。
この情報は次の場所にあります。SSHD(8)マニュアルページのAUTHORIZED_KEYSファイル形式セクション。