Testa själva porten
Ett svar på ping eller en fungerande webbplats säger ingenting om SSH, eftersom de använder olika protokoll eller portar. Testa TCP-porten direkt från klienten. Connection refused betyder att något svarade men att ingen tjänst accepterade anslutningen. Timeout betyder att ingenting svarade, vilket oftast pekar på en brandvägg, routing eller en överbelastad dator.
nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.exampleConnection refused: kontrollera sshd via konsolen
Använd leverantörens eller hypervisorns konsol, inte SSH. Kontrollera att tjänsten körs, vilken adress och port den lyssnar på och om konfigurationen är giltig. I nyare Ubuntu-versioner startar SSH via ssh.socket, så kontrollera även socketenheten. Andra distributioner kan kalla tjänsten sshd.
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: kontrollera brandväggarna
Granska brandväggen på servern och alla filter utanför den, till exempel en säkerhetsgrupp i molnet, routern eller leverantörens kontrollpanel. Kör tcpdump på servern under ett anslutningsförsök för att se om paket alls kommer fram. Om ingenting syns ligger blockeringen före servern. Om paket kommer in men inget svar går ut ska du leta på servern.
sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22Blockering av fail2ban eller en ändrad port
Efter misslyckade inloggningar kan fail2ban ha blockerat din adress, vilket ser ut som en timeout eller nekad anslutning enbart från din adress. Ett test från ett annat nätverk visar det snabbt. Kontrollera också om porten har ändrats med Port eller om lyssningen har begränsats till en enda adress med ListenAddress i sshd_config eller i en fil under /etc/ssh/sshd_config.d.
sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) 'Portanslutningen fungerar men inloggningen hänger sig
Om TCP-anslutningen lyckas men SSH:s inledande identifieringsmeddelande aldrig kommer fram fungerar sshd bara delvis eller så är systemet överbelastat. Kontrollera minne, diskutrymme och belastning via konsolen. En full disk eller slut på minne kan stoppa nya sessioner medan befintliga tjänster fortfarande svarar.
uptime
free -h
df -hKontrollera med CH-J Server Manager
Server Diagnostics kan testa ping, en TCP-anslutning och SSH:s identifieringssträng utan inloggning, för både IPv4 och IPv6, så att du ser vilket steg som misslyckas. Testerna görs enbart från din dator. Verktyget kan inte se in i servern eller avgöra vilken brandvägg som kastade bort ett paket, så du behöver fortfarande konsolen för kontrollerna ovan.