Bashは、認証に使用されたSSH公開キーを教えてくれますか?


14

rootユーザーを追跡するとします。それぞれに一意の秘密鍵があり、公開鍵はに保存されてい/root/.ssh/authorized_keysます。

各ユーザーが一意のキーでログインすると、どのキーが認証に使用されたかをBASHセッション内からどのように確認できますか?ログイン時に環境変数を確認しようとしましたが、セッションと公開鍵との相関関係が表示されません。


わずかに関連:(openssh)sshd_configでLogLevel VERBOSEを設定すると、ログインに使用したキーのフィンガープリントが記録されます。
andol

回答:


21

ユーザー名を~/.ssh/authorized_keysサーバー上の公開キーに追加し、環境値としてエクスポートできます。

environment="REALUSER=realusername" ssh-dsa AAA...

これにより、環境変数REALUSERが設定され、bashで使用できるようになります。でPermitUserEnvironmenttrueに設定されている場合にのみ機能しますsshd_config


ほんとに?涼しい!あなたは~/.ssh/authorized_keys?私はこれについて知りませんでした。
PP。

5
はい、それだけです。あなたはそこにたくさんの面白いことをすることができます- man ssh見出しの下でもっと教えてくれますAUTHORIZED_KEYS FILE FORMAT
ジェニーD

4
バージョンに依存するかもしれませんがman sshdAUTHORIZED_KEYS FILE FORMATセクションを見つけるために使用しなければなりませんでした。
マシュークランリー

2
PermitUserEnvironmentを有効にすると、セキュリティに影響することに注意してください。男sshdを読む
フローリンアンドレイ14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.