Não é possível obter informações da última conexão para usuários SSH (bloqueados, sem shell, chave pública) Existe uma alternativa?

1

Eu tenho vários sistemas remotos conectados ao meu servidor via SSH para estabelecer túneis.

Eles autenticam usando uma chave pública, o usuário está bloqueado e o shell está configurado para / usr / sbin / nologin

Tudo funciona bem, exceto com essa configuração, a saída de last username está vazia para essas contas.

Existe uma solução alternativa para obter as informações do último login para essas pessoas? Eu preciso do IP e tempo de conexão.

Obrigado pela leitura.

    
por TCZ8 09.12.2014 / 17:32

1 resposta

1

Você pode usar awk em /var/log/secure ou /var/log/auth.log (dependendo da distribuição).

No meu CentOS 7 , obtenho o seguinte quando efetuo login remotamente:

Dec  8 21:58:20 <server hostname> sshd[8387]: Accepted publickey for gareth from 1.2.3.4 port 58392 ssh2: RSA 55:89:f9:20:db:c6:e0:6f:ff:d4:a7

O acima foi para login interativo, mas uma entrada semelhante foi criada para sftp login.

Portanto:

awk '/sshd.*Accepted/ {print $1,$2,$3,$9,$11}' /var/log/secure

deve dar a você:

Dec 8 21:58:20 gareth 1.2.3.4
    
por 09.12.2014 / 17:53