Linux
是否可以讓 OpenSSH 記錄身份驗證中使用的公鑰?
我有一個生產系統,允許幾個不同的人登錄到一個帳戶 - 該帳戶用於應用程序而不是用於該人,因為我們在生產伺服器上沒有個人帳戶。
出於審計目的,我希望能夠知道誰在什麼時間登錄,並且當我們使用 SSH 密鑰登錄時,跟踪它似乎是合乎邏輯的(因為沒有其他標識符可跟踪)。
當 SSH 對使用者進行身份驗證時,它會將使用者名記錄到系統的安全日誌中,但它不會記錄登錄時使用了哪個授權的公鑰。是否可以讓 OpenSSH 也報告使用了哪個公鑰,或者可能只是與該鍵相關的評論?
正在使用的作業系統是 CentOS 5.6,但我也想知道它是否可以在其他作業系統上使用。
如果您在配置文件(或類似文件)中提出
LogLevel
to ,它將記錄用於驗證使用者身份的公鑰的指紋。VERBOSE``/etc/sshd/sshd_config
LogLevel VERBOSE
然後你會收到這樣的消息:
Jul 19 11:23:13 centos sshd[13431]: Connection from 192.168.1.104 port 63529 Jul 19 11:23:13 centos sshd[13431]: Found matching RSA key: 54:a2:0a:cf:85:ef:89:96:3c:a8:93:c7:a1:30:c2:8b Jul 19 11:23:13 centos sshd[13432]: Postponed publickey for user from 192.168.1.104 port 63529 ssh2 Jul 19 11:23:13 centos sshd[13431]: Found matching RSA key: 54:a2:0a:cf:85:ef:89:96:3c:a8:93:c7:a1:30:c2:8b Jul 19 11:23:13 centos sshd[13431]: Accepted publickey for user from 192.168.1.104 port 63529 ssh2
您可以使用:
ssh-keygen -lf /path/to/public_key_file
獲取特定公鑰的指紋。