Den Port selbst testen
Eine Antwort auf ping oder eine funktionierende Website sagt nichts über SSH aus, da jeweils ein anderes Protokoll oder ein anderer Port verwendet wird. Testen Sie den TCP-Port direkt vom Client aus. Connection refused bedeutet, dass etwas geantwortet hat, aber kein Dienst die Verbindung angenommen hat. Ein Timeout bedeutet, dass nichts geantwortet hat, was meist auf eine Firewall, das Routing oder einen überlasteten Rechner hinweist.
nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.exampleConnection refused: sshd über die Konsole prüfen
Verwenden Sie die Konsole des Anbieters oder Hypervisors, nicht SSH. Prüfen Sie, ob der Dienst läuft, auf welcher Adresse und welchem Port er lauscht und ob die Konfiguration gültig ist. In neueren Ubuntu-Versionen wird SSH über ssh.socket gestartet; prüfen Sie daher auch die Socket-Unit. In anderen Distributionen kann der Dienst sshd heißen.
sudo systemctl status ssh.service ssh.socket
sudo ss -lntp | grep -E ':22\b|sshd'
sudo sshd -t
sudo journalctl -u ssh -n 50 --no-pagerTimeout: Firewalls prüfen
Prüfen Sie die Firewall auf dem Server sowie alle externen Filter, etwa eine Cloud-Sicherheitsgruppe, den Router oder das Anbieterpanel. Um zu sehen, ob überhaupt Pakete ankommen, führen Sie während eines Verbindungsversuchs tcpdump auf dem Server aus. Erscheint nichts, liegt die Blockierung vor dem Server. Kommen Pakete an, ohne dass eine Antwort den Server verlässt, suchen Sie auf dem Server.
sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22Blockierung durch fail2ban oder einen geänderten Port
Nach fehlgeschlagenen Anmeldungen kann fail2ban Ihre Adresse gesperrt haben. Das zeigt sich als Timeout oder Verbindungsablehnung nur von Ihrer Adresse aus. Ein Test aus einem anderen Netzwerk zeigt dies schnell. Prüfen Sie auch, ob der Port mit Port geändert oder das Lauschen mit ListenAddress auf eine Adresse beschränkt wurde, in sshd_config oder einer Datei unter /etc/ssh/sshd_config.d.
sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) 'Portverbindung klappt, aber die Anmeldung hängt
Wenn die TCP-Verbindung zustande kommt, aber nie das SSH-Banner eintrifft, funktioniert sshd nur teilweise oder das System ist überlastet. Prüfen Sie über die Konsole Speicher, freien Plattenplatz und Last. Eine volle Platte oder erschöpfter Arbeitsspeicher können neue Sitzungen verhindern, während bestehende Dienste weiterhin antworten.
uptime
free -h
df -hPrüfung mit CH-J Server Manager
Server Diagnostics kann ping, eine TCP-Verbindung und die SSH-Identifikationszeichenfolge ohne Anmeldung für IPv4 und IPv6 testen. So sehen Sie, in welcher Phase der Fehler auftritt. Die Tests erfolgen ausschließlich von Ihrem Computer aus. Das Modul kann weder in den Server hineinsehen noch feststellen, welche Firewall ein Paket verworfen hat. Für die obigen Prüfungen brauchen Sie daher weiterhin die Konsole.