[Linux] [SSH] Identifier les authentifications avec des clefs ssh

Antoine Delaporte adlp@::1
Mar 6 Juin 11:59:25 CEST 2023


Coincoin,


Bon, j'avais le besoin de savoir quelle clef avait été utilisée pour se 
loguer sur un serveur et donc d'avoir un peu plus d'informations...

Dans les faits il y a des infos dans le /var/log/auth.log mais... ce 
n'est pas amusant pour recouper avec la clef publique utilisée...


Voici donc ce que j'ai commis :

=============

#!/bin/bash


grep ": Accepted publickey for " /var/log/auth.log | tr -s "\t " " " | 
cut -d" " -f1-4,9,11,13,15,16 | while read d1 d2 d3 d4 login ip port rsa 
cles
     do
     holo=$(getent passwd $login | cut -d: -f6)
     grep -v "^#" $holo/.ssh/authorized_keys | sed -s 
"s/.*\(ssh-.*\)/\1/g" | sort -u | ssh-keygen -lf - | while read null 
clef com
         do
             if [ "$cles" = "$clef" ]; then
                 echo $d1 $d2 $d3 $d4: $login $ip:$port $com
             fi
         done
     done
=============


Et ça rend à peu près ça

Jun 4 09:24:0 2 wurzel: adlp 10.a.b.c:55156 adlp@::1 (RSA)
Jun 5 08:50:22 wurzel: adlp w.x.y.z:55918 adlp@::1 (RSA)
Jun 5 13:50:26 wurzel: adlp 10.a.b.c:46410 adlp@::1 (RSA)
Jun 6 08:27:54 wurzel: adlp w.x.y.z:48496 adlp@::1 (RSA)
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://strasbourg.linuxfr.org/pipermail/linux/attachments/20230606/ddbd1a17/attachment.htm>


Plus d'informations sur la liste de diffusion linux