SSH debuggen
Fr, 17. März 2023, Lioh Möller
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