Outils pour utilisateurs

Outils du site


linux:scripts_awk:ssh_access

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

linux:scripts_awk:ssh_access [20/02/2009 16:03]
daniel créée
linux:scripts_awk:ssh_access [20/02/2009 16:14] (Version actuelle)
daniel
Ligne 5: Ligne 5:
 #​!/​usr/​bin/​awk -f #​!/​usr/​bin/​awk -f
  
-# Ce script est prévu pour s'​appliquer sur le auth.log (ou syslog, suivant la conf) et virer les lignes d'accès ssh par clé.+# Ce script est prévu pour s'​appliquer sur le auth.log (ou syslog, suivant la conf) et récapituler ​les accès ssh.
 # Quand la connexion est close immédiatemment on efface simplement (robots qui lancent des commandes à distance, ici un accès toutes les minutes). # Quand la connexion est close immédiatemment on efface simplement (robots qui lancent des commandes à distance, ici un accès toutes les minutes).
 # Sinon, on efface les lignes mais on restitue un résumé à la fin. # Sinon, on efface les lignes mais on restitue un résumé à la fin.
Ligne 11: Ligne 11:
 BEGIN { BEGIN {
   nb=0;   nb=0;
-  only_ssh_by_key=1; # Si on ne veut pas le reste +  only_ssh_by_key=0; # Si on ne veut pas le reste 
-  del_short_conn=0;​ # en fait, supprime les fermetures qui suivent immédiatement l'​ouverture, dans mon cas => > 1min.+  del_short_conn=0;​ # en fait, supprime les fermetures qui suivent immédiatement l'​ouverture
 } }
       ​       ​
-/​Accepted ​publickey ​for/ {+/​Accepted ​p[^ ]+ for/ {
   var=1; nb++;    var=1; nb++; 
-  user[nb]=$9;​ pidssh[nb]=$5;​ ip[nb]=$11; debut[nb]=$1 " " $2 " " $3;+  ​case[nb]=$7; ​user[nb]=$9;​ pidssh[nb]=$5;​ ip[nb]=$11; debut[nb]=$1 " " $2 " " $3;
   next;   next;
 } }
Ligne 31: Ligne 31:
     if (pidssh[nb]=$5 && del_short_conn==1) {     if (pidssh[nb]=$5 && del_short_conn==1) {
       # OK on efface nos variables et on oublie la ligne       # OK on efface nos variables et on oublie la ligne
 +      delete case[nb]
       delete user[nb]       delete user[nb]
       delete pidssh[nb];       delete pidssh[nb];
Ligne 52: Ligne 53:
 } }
 END { END {
-  print "Les connexions ssh par clé :"; +  print "Les connexions ssh réussies ​:"; 
-  for (i in ip) { print user[i] "​("​ ip[i] ") s'est connecté de *" debut[i] "* à *" fin[i] "​*";​}+  for (i in ip) { print user[i] "​("​ ip[i] ") s'est connecté de *" debut[i] "* à *" fin[i] "​* ​(" case[i] ")";}
 } }
 </​code>​ </​code>​
linux/scripts_awk/ssh_access.txt · Dernière modification: 20/02/2009 16:14 par daniel