Linux

是否可以讓 OpenSSH 記錄身份驗證中使用的公鑰?

  • September 7, 2021

我有一個生產系統,允許幾個不同的人登錄到一個帳戶 - 該帳戶用於應用程序而不是用於該人,因為我們在生產伺服器上沒有個人帳戶。

出於審計目的,我希望能夠知道誰在什麼時間登錄,並且當我們使用 SSH 密鑰登錄時,跟踪它似乎是合乎邏輯的(因為沒有其他標識符可跟踪)。

當 SSH 對使用者進行身份驗證時,它會將使用者名記錄到系統的安全日誌中,但它不會記錄登錄時使用了哪個授權的公鑰。是否可以讓 OpenSSH 也報告使用了哪個公鑰,或者可能只是與該鍵相關的評論?

正在使用的作業系統是 CentOS 5.6,但我也想知道它是否可以在其他作業系統上使用。

如果您在配置文件(或類似文件)中提出LogLevelto ,它將記錄用於驗證使用者身份的公鑰的指紋。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

獲取特定公鑰的指紋。

引用自:https://serverfault.com/questions/291763