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] – créée daniellinux: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 de daniel