Bash, Kimlik Doğrulaması için Hangi SSH Ortak Anahtarının Kullanıldığını Anlatabilir mi?


14

Diyelim ki rootkullanıcılarımı izlemek istiyorum . Her birinin benzersiz bir özel anahtarı vardır ve ortak anahtarları depolanmıştır /root/.ssh/authorized_keys.

Her kullanıcının benzersiz anahtarıyla oturum açtığı göz önüne alındığında, bir BASH oturumu içinden kimlik doğrulamak için hangi anahtarın kullanıldığını nasıl anlayabilirim? Giriş yaptığımda ortam değişkenlerine bakmayı denedim ama oturumumu ortak anahtarımla ilişkilendiren hiçbir şey göremiyorum.


Biraz alakalı: (openssh) sshd_config dosyasında LogLevel VERBOSE öğesini ayarlamak, oturum açmak için kullanılan anahtarın parmak izini kaydeder.
andol

Yanıtlar:


21

Kullanıcı adını ~/.ssh/authorized_keyssunucudaki genel anahtara ekleyebilir ve ortam değeri olarak dışa aktarabilirsiniz:

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

Bu, daha sonra bash içinde kullanılabilecek REALUSER ortam değişkenini ayarlayacaktır. Bu, yalnızca PermitUserEnvironmenttrue değerine ayarlandığında çalışırsshd_config


Whoah .. gerçekten mi? Güzel! Yani demek ~/.ssh/authorized_keysistiyorsun? Bunu hiç bilmiyordum.
PP.

5
Evet, hepsi bu. Orada bir sürü ilginç şey yapabilirsiniz - man sshbaşlığın altında size daha fazla bilgi verecektir AUTHORIZED_KEYS FILE FORMAT.
Jenny D

4
Sürüme bağlı olabilir, ancak bölümü man sshdbulmak için kullanmak zorunda kaldım AUTHORIZED_KEYS FILE FORMAT.
Matthew Crumley

2
PermitUserEnvironment'ı etkinleştirmenin bazı güvenlik etkileri olduğunu unutmayın. Oku adam sshd
Florin Andrei
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.