Como descobrir qual chave estava sendo usada para efetuar login em uma sessão SSH

3

Gostaria de saber qual chave foi usada ao fazer login em uma sessão SSH. Quero correlacionar a chave a um banco de dados local e enviar email para um endereço que corresponda à chave.

O primeiro passo é descobrir qual chave é a que está sendo usada.

    
por geoaxis 09.12.2011 / 12:19

2 respostas

4

Para fazer isso, você terá que aumentar o LogLevel do seu sshd para VERBOSE .

logLevel VERBOSE

em /etc/ssh/sshd_config e reinicie o sshd. Isso fará com que o sshd registre a impressão digital da chave usada para efetuar login, no arquivo de log configurado (/ var / log / secure, / var / log / auth etc). Você receberá uma mensagem semelhante a esta

Dec  9 11:47:15 host sshd[32282]: Found matching RSA key: 54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b

A 54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b é a impressão digital da chave usada para efetuar login.

Você pode obter a impressão digital de uma determinada chave usando o comando

ssh-keygen -lf <keyfile> 

onde keyfile é a chave pública

sshkeygen -lf /tmp/test.key
2048 21:02:4b:82:83:62:49:d7:5f:e0:8f:cf:ec:a3:5f:38 /tmp/test.key (RSA)
    
por 09.12.2011 / 13:07
2

Você precisará ativar o registro.

No lado do cliente, "ssh -v" indica qual chave privada foi usada.

No lado do servidor, os níveis de log padrão mostrarão apenas que uma chave pública foi usada (ao contrário da senha auth). Você precisará definir o nível de log em sshd_config para pelo menos VERBOSE.

    
por 09.12.2011 / 13:07

Tags