Eu uso um par clássico de chave privada/pública para me conectar a servidores.
Por enquanto, temos uma conta dedicada, digamos foo
, que é usada por vários usuários, cada um com seus próprios pares de chaves públicas/privadas.
Estou procurando uma maneira de registrar qual usuário foi autenticado nesta foo
conta.
Por enquanto, consegui descobrir que se eu aumentar LogLevel
para VERBOSE
in/etc/ssh/sshd_config, ssh registre oimpressão digitalda chave pública em/var/log/auth.log.
Se parece com isso :
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
então consigo obterimpressão digitalde cada usuário com uma chamada ssh-keygen -lf key.pub
em sua chave pública e, em seguida, aplique um sed no log.
Gostaria de saber se existe uma maneira mais simples ou melhor de fazer com que o ssh registre qual chave do usuário foi usada para autenticar no servidor?
Responder1
sshd nunca vê qual nome de arquivo chave é usado pelo cliente, portanto o pós-processamento não pode ser evitado.