Stellen Sie sich vor: Ihr Server ist wie ein sicheres Haus. Sie haben den Schlüssel gut versteckt – aber die Tür lässt sich trotzdem noch mit einem alten Universalschlüssel öffnen. So fühlt es sich an, wenn Ihr SSH-Server noch Passwort-Authentifizierung erlaubt, obwohl Sie längst auf Key-Auth umgestellt haben. Doch wie finden Sie das zuverlässig heraus?

In diesem Artikel zeige ich Ihnen ein stabiles, auditierbares Bash-Skript, mit dem Sie sicher analysieren, ob Ihr SSH-Zugang noch Passwort-Authentifizierung akzeptiert – ganz ohne Ratespiel oder veraltete Tools.

Warum ist PasswordAuthentication so gefährlich?

  • Passwörter sind erratbar, Keys nicht.
  • Brute-Force-Angriffe auf SSH sind Standardrepertoire von Bots.
  • Ein offenes Passwortfeld ist wie ein leuchtendes Schild: „Bitte ausprobieren!“

Die smarte Lösung: Welche Authentifizierungs-Methoden sind erlaubt?

Viele Administratoren prüfen SSH-Logins per Trial-and-Error – das ist unsauber und unzuverlässig. Besser: Lesen Sie aus, was der Server tatsächlich anbietet, direkt nach dem Handshake.

Das folgende Bash-Skript nutzt exakt dieses Prinzip:

#!/bin/bash
HOST="$1"
USER="${2:-testuser}"

OUT=$(ssh -o BatchMode=yes \
          -o StrictHostKeyChecking=no \
          -o UserKnownHostsFile=/dev/null \
          -o ConnectTimeout=5 \
          -v "$USER@$HOST" 2>&1)

AUTH_LINE=$(echo "$OUT" | grep "Authentications that can continue")

if echo "$AUTH_LINE" | grep -q "password"; then
    echo "❌ Password authentication is ENABLED"
else
    echo "✅ Password authentication is DISABLED"
fi

Aufruf:

./check-ssh-auth.sh 192.0.2.5 root

Wie funktioniert’s?

Dieses Skript nutzt den -v (verbose)-Modus von ssh, um die angebotenen Authentifizierungsmethoden auszulesen. Wenn password in der Liste enthalten ist, bedeutet das: Der Server erlaubt Login mit Passwort. Unabhängig davon, ob das Passwort korrekt ist – das ist der entscheidende Unterschied zu anderen Tests.

Fazit: Besser wissen statt hoffen

  • 🔍 Prüfen Sie SSH-Authentifizierung sicher und reproduzierbar
  • 🔒 Erkennen Sie Schwachstellen, bevor Angreifer es tun
  • ✅ Vermeiden Sie Fehlkonfiguration durch automatisierte Checks

Starten Sie jetzt: Kopieren Sie das Skript in Ihre Toolbox und machen Sie Ihr SSH sicher.

Weiterführend:

SSH-Sicherheit prüfen: Erkennt Ihr Server noch Passwort-Logins?