Ich verwende ein klassisches Paar aus privatem/öffentlichem Schlüssel, um eine Verbindung zu Servern herzustellen.
Im Moment haben wir beispielsweise ein dediziertes Konto, foo
das von mehreren Benutzern verwendet wird, jeder mit seinem eigenen Paar aus öffentlichen/privaten Schlüsseln.
Ich suche nach einer Möglichkeit, zu protokollieren, welcher Benutzer sich bei diesem foo
Konto authentifiziert hat.
Im Moment habe ich herausgefunden, dass wenn ich LogLevel
auf erhöhe VERBOSE
in/etc/ssh/sshd_config, ssh protokollieren dieFingerabdruckdes öffentlichen Schlüssels in/var/log/auth.log.
Es sieht aus wie das :
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
Dann schaffe ich es,Fingerabdruckjedes Benutzers mit einem Aufruf ssh-keygen -lf key.pub
seines öffentlichen Schlüssels und anschließendem Anwenden eines SED auf das Protokoll.
Ich würde gerne wissen, ob es eine einfachere oder bessere Möglichkeit gibt, per SSH-Protokoll zu protokollieren, welcher Benutzerschlüssel zur Authentifizierung auf dem Server verwendet wurde?
Antwort1
sshd sieht nie, welcher Schlüsseldateiname vom Client verwendet wird, daher kann eine Nachbearbeitung nicht vermieden werden.