Determina quando alguém fez o último login em um servidor a partir de uma chave

6

Estou tentando rastrear a última vez que um usuário fez login em um servidor Linux com uma determinada chave. Portanto, o usuário secure tem 5 chaves em ~/.ssh/authorized_keys , como posso rastrear quando cada chave foi usada e qual IP foi usado para acessar o servidor?

Idealmente, seria possível ver que a Chave 1 foi usada pela última vez há 5 dias em 127.0.0.1, a Chave 2 foi usada há 10 minutos em 10.0.0.5, as Chaves 3 e 4 nunca foram usadas, a Chave 5 foi usada em 2 semanas atrás de 8.8.8.8.

    
por Marco Ceppi 07.01.2012 / 23:31

1 resposta

8

Você precisa aumentar o LogLevel em /etc/ssh/sshd_config para VERBOSE e reiniciar o sshd. Isso fará com que o sshd registre a impressão digital da chave que está sendo usada em qualquer arquivo de log que seu sshd esteja configurado para usar, por exemplo.

Jan  7 22:46:17 host.lan sshd[5998]: Connection from 192.168.254.187 port 57062
Jan  7 22:46:17 host.lan sshd[5998]: Found matching RSA key: 54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b
Jan  7 22:46:17 host.lan sshd[5998]: Found matching RSA key: 54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b
Jan  7 22:46:17 host.lan sshd[5998]: Accepted publickey for user from 192.168.254.187 port 57062 ssh2

Deve ser bastante simples para combinar a impressão digital da chave com a chave e fazer o que você quer.

    
por 07.01.2012 / 23:49