Sådan finder du alle mislykkede SSH-loginforsøg i Linux


Hvert forsøg på at logge ind på SSH-server spores og registreres i en logfil med grep-kommandoen.

For at få vist en liste over de mislykkede SSH-logins i Linux, skal du udstede nogle af de kommandoer, der er præsenteret i denne vejledning. Sørg for, at disse kommandoer udføres med root-rettigheder.

Den mest enkle kommando til at liste alle mislykkede SSH-logins er den, der er vist nedenfor.

# grep "Failed password" /var/log/auth.log

Det samme resultat kan også opnås ved at udstede kat-kommandoen.

# cat /var/log/auth.log | grep "Failed password"

For at få vist ekstra information om de mislykkede SSH-login, skal du udstede kommandoen som vist i nedenstående eksempel.

# egrep "Failed|Failure" /var/log/auth.log

I CentOS eller RHEL registreres de mislykkede SSH-sessioner i/var/log/sikker fil. Udsted ovenstående kommando mod denne logfil for at identificere mislykkede SSH-login.

# egrep "Failed|Failure" /var/log/secure

En let modificeret version af ovenstående kommando til at vise mislykkede SSH-login i CentOS eller RHEL er som følger.

# grep "Failed" /var/log/secure
# grep "authentication failure" /var/log/secure

For at få vist en liste over alle IP-adresser, der forsøgte og ikke kunne logge ind på SSH-serveren sammen med antallet af mislykkede forsøg for hver IP-adresse, skal du udstede kommandoen nedenfor.

# grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

På nyere Linux-distributioner kan du forespørge om runtime-logfilen, der vedligeholdes af Systemd-dæmonen via journalctl-kommandoen. For at få vist alle mislykkede SSH-loginforsøg skal du føre resultatet via grep-filter, som illustreret i nedenstående kommandoeksempler.

# journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"
# journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure"  #In RHEL, CentOS 

I CentOS eller RHEL skal du udskifte SSH-dæmonenheden med sshd.service, som vist i nedenstående kommandoeksempler.

# journalctl _SYSTEMD_UNIT=sshd.service | grep "failure"
# journalctl _SYSTEMD_UNIT=sshd.service | grep "Failed"

Når du har identificeret de IP-adresser, der ofte rammer din SSH-server for at logge ind på systemet med mistænkelige brugerkonti eller ugyldige brugerkonti, skal du opdatere dine systemfirewallregler til fail2ban for at administrere disse angreb.