Utilizo un par clásico de clave pública/privada para conectarme a los servidores.
Por ahora, tenemos una cuenta dedicada, digamos foo
, que utilizan varios usuarios, cada uno con sus propios pares de claves públicas/privadas.
Estoy buscando una manera de registrar qué usuario se autenticó en esta foo
cuenta.
Por ahora, logro descubrir que si subo LogLevel
a VERBOSE
in/etc/ssh/sshd_config, registra ssh elhuella dactilarde la clave pública en/var/log/auth.log.
Se parece a esto :
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
entonces logro llegarhuella dactilarde cada usuario con una llamada a ssh-keygen -lf key.pub
su clave pública y luego aplique un sed en el registro.
Me gustaría saber si existe una forma más sencilla o mejor de hacer que ssh registre qué clave de usuario se utilizó para autenticarse en el servidor.
Respuesta1
sshd nunca ve qué nombre de archivo clave utiliza el cliente, por lo que no se puede evitar el posprocesamiento.