O sshd nunca vê qual nome de chave é usado pelo cliente, então o pós-processamento não pode ser evitado.
Eu uso um par clássico de chave privada / pública para conectar em 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ública / privada.
Estou procurando uma maneira de registrar qual usuário autenticado nesta conta foo
.
Por enquanto, eu descobri que se eu aumentar LogLevel
para VERBOSE
em / etc / ssh / sshd_config , ssh registre a impressão digital do público digite /var/log/auth.log .
Parece assim:
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
Em seguida, consigo obter impressão digital de cada usuário com uma chamada para ssh-keygen -lf key.pub
em sua chave pública e, em seguida, aplicar um sed no log.
Gostaria de saber se existe uma maneira mais simples ou melhor de ter o log ssh, qual chave do usuário foi usada para autenticar no servidor?
Tags ssh