SSH debuggen

  Lioh Möller   Lesezeit: 2 Minuten  🗪 1 Kommentar

SSH-Verbindungen lassen sich auf einfache Weise debuggen.

ssh debuggen

Falls es bei einem Versuch eine SSH-Verbindung aufzubauen zu Fehlern kommen sollte, gibt es verschiedene Möglichkeiten zur Analyse. Einerseits kann der SSH-Client mit dem Parameter -v gestartet werden. Die Angabe von -vvv erhöht die Debug-Ausgabe.



Serverseitig besteht die Möglichkeit, eine weitere sshd Instanz zu starten. Dabei bietet sich die Nutzung eines alternativen Ports an, damit bestehende SSH-Verbindungen nicht beeinflusst werden. Zuvor sollte allerdings sichergestellt werden, dass ein Zugriff über den gewählten Port in einer aktiven Firewall gestattet wird.

Daraufhin kann auf der Serverseite der SSH Daemon im interaktiven Debug Modus gestartet werden, mithilfe von tee wird die Ausgabe darüber hinaus in eine Datei im lokalen Verzeichnis umgeleitet:

/usr/sbin/sshd -ddd -D -p 222 2>&1 | awk '{ print strftime("%D %T: "), $0; fflush(); }' | tee sshd_debug.log

Auf Clientseite kann die Verbindung wie folgt aufgebaut werden:

ssh -p 222 $ZIELSYSTEM

Alternativ kann die folgende Option zur sshd Konfiguration hinzugefügt werden:

vi /etc/ssh/sshd_config

LogLevel DEBUG3

Damit diese aktiviert wird, muss der Dienst neu gestartet werden, was Auswirkungen auf bereits bestehende aktive SSH-Verbindungen haben kann:

systemctl restart sshd

Logo: Jessie Kirk, CC BY 4.0, via Wikimedia Commons

Tags

SSH, Debuggen

Grauzone
Geschrieben von Grauzone am 17. März 2023 um 09:40

Vielen Dank für die Informationen. Kannte ich zwar schon, aber das können bestimmt einige brauchen. Laut man page (sshd) kann man auch beim Start von sshd eine Konfigurationsdatei angeben (Option: -f). Damit kann man die normale Konfiguration kopieren, den anderen Port und den Debuglevel anpassen und muss die Konfigurationsdatei für den Standard-Dienst nicht ändern und daher den Dienst sshd nicht neu starten. Das ist sowieso nicht nötig, wenn man den sshd mit einem anderen Port manuell (als root) startet.