Для подключения к серверам я использую классическую пару закрытый/открытый ключ.
На данный момент у нас есть одна выделенная учетная запись, скажем foo
, , которая используется несколькими пользователями, у каждого из которых есть свои собственные пары открытого/закрытого ключей.
Я ищу способ зарегистрировать, какой пользователь аутентифицировался в этой foo
учетной записи.
На данный момент мне удалось обнаружить, что если я подниму ставку LogLevel
доVERBOSE
/etc/ssh/sshd_config, ssh логотпечаток пальцаоткрытого ключа в/var/log/auth.log.
Выглядит это так:
Apr 2 18:33:15 xxx-yy sshd[32064]: Connection from A.B.C.D port 43286
Apr 2 18:33:15 xxx-yy sshd[32064]: Found matching RSA key: XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
Apr 2 18:33:15 xxx-yy sshd[32064]: Accepted publickey for foo from A.B.C.D port 43286 ssh2
Затем мне удается получитьотпечаток пальцакаждого пользователя с вызовом ssh-keygen -lf key.pub
их открытого ключа, а затем применить sed к журналу.
Я хотел бы узнать, есть ли более простой или лучший способ зарегистрировать в журнале SSH, какой ключ пользователя использовался для аутентификации на сервере?
решение1
sshd никогда не видит, какое имя файла ключа используется клиентом, поэтому постобработки избежать не удастся.