Feilsøking og vanlige problemer med SSH
Kapittel 17
Feil med SSH-tilkobling kan skyldes mange ulike årsaker, men de fleste faller innenfor noen få hovedområder: tjenesten kjører ikke, feil i konfigurasjon, brannmurblokker, feil brukerkonto, eller problemer med nøkler og fingerprint. Dette kapittelet samler de vanligste problemene og hvordan de løses trinn for trinn.
Grunnleggende kontroller
Sjekk at SSH-tjenesten kjører
systemctl status sshd
Hvis den ikke kjører, start den manuelt
sudo systemctl restart sshd
Sjekk at tjenesten er aktiv og uten feil. Hvis du ser "inactive" eller "failed", må du inspisere loggene.
Se loggene for SSH
journalctl -u ssh
Naviger i loggen med piltastene, og avslutt med q.
Feil i config-filer
Feil skyldes ofte skrivefeil i konfigurasjonsfiler som /etc/ssh/sshd_config.
Sjekk loggene nøye etter oppstart for feilmeldinger, rett eventuelle feil og start tjenesten på nytt.
Brannmur og porter
Feil kan oppstå hvis brannmuren blokkerer porten SSH kjører på.
Sjekk status på brannmuren
sudo ufw status
Sjekk hvilken port SSH kjører på
grep ^Port /etc/ssh/sshd_config
Hvis porten er endret, må du sørge for at den er åpnet i UFW
sudo ufw allow 22/tcp
eller, hvis du bruker en annen port
sudo ufw allow 3719/tcp
Brukerproblemer
Dersom en bruker ikke får logget inn, kan årsaken være låst konto, feil gruppe eller feil autentisering.
Sjekk om brukeren er låst i shadow-filen
sudo cat /etc/shadow | grep brukernavn
Hvis linjen inneholder et utropstegn (!) før passordfeltet, er kontoen låst.
Lås opp kontoen
sudo usermod -U brukernavn
Hvis brukeren eksisterer og ikke er låst, sjekk konfigurasjonen for om brukeren eller gruppen er blokkert i SSH.
Se etter AllowUsers, DenyUsers, AllowGroups, DenyGroups i /etc/ssh/sshd_config eller filer i /etc/ssh/sshd_config.d/.
Feil passord eller nøkkel
Bekreft at brukeren skriver riktig passord, eller at korrekt nøkkel er installert på serveren i ~/.ssh/authorized_keys med riktige rettigheter (600).
Fingerprint og known hosts
Hvis brukeren får advarsel om nytt server fingerprint, må dette alltid undersøkes før man godtar det. Dette kan skyldes
- Serveren er reinstallert
- IP eller DNS peker til ny maskin
- Potensiell “man-in-the-middle”-situasjon
Hvis alt er i orden, slett den gamle fingeravtrykkoppføringen
ssh-keygen -R servernavn
eller manuelt i
~/.ssh/known_hosts
Legg deretter inn fingerprint på nytt
ssh-keyscan servernavn >> ~/.ssh/known_hosts
Klientproblemer
Sjekk klientkonfigurasjon
~/.ssh/config
og
/etc/ssh/ssh_config
Se etter feil syntaks eller feil parametere (for eksempel feil ProxyJump, feil nøkkelsti, eller ugyldige alternativer).
Sjekk også at klienten kan nå serverens hostname eller IP-adresse med ping eller nslookup.
ping servernavn
Hvis du får “Connection timed out” kan årsaken være nettverksfeil eller brannmur.
Vanlige feil og løsninger
Problem: Connection refused Årsak: SSH-tjenesten kjører ikke, feil port eller blokkert av brannmur. Løsning: Sjekk status, port og UFW.
Problem: Permission denied (publickey)
Årsak: Feil eller manglende nøkkel, eller feil filrettigheter.
Løsning: Sjekk at riktig nøkkel ligger i ~/.ssh/authorized_keys og at filrettigheter er korrekte
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Problem: Host key verification failed
Årsak: Fingerprint endret.
Løsning: Fjern gammel oppføring fra known_hosts og legg inn på nytt.
Problem: User not allowed to log in
Årsak: Bruker eller gruppe er blokkert i config.
Løsning: Sjekk AllowUsers og DenyUsers i /etc/ssh/sshd_config.
Problem: Broken pipe (forbindelsen faller ut) Årsak: Ustabil nettverkstilkobling. Løsning: Bruk Mosh (Mobile Shell) for mer stabil forbindelse over mobile nettverk.
Ekstra tips
Test konfigurasjon før restart for å unngå at du låser deg ute
sudo sshd -t
Dette sjekker at konfigurasjonsfilene ikke inneholder feil.
For mer detaljert feilsøking, bruk verbose-modus i SSH-klienten
ssh -v brukernavn@server
# eller
ssh -vvv brukernavn@server
Dette viser nøyaktig hvor i autentiseringsprosessen feilen oppstår.
Høydepunkt – viktige kommandoer
Sjekk SSH-tjenesten
systemctl status sshd
Start tjenesten på nytt
sudo systemctl restart sshd
Se logger
journalctl -u ssh
Sjekk port
grep ^Port /etc/ssh/sshd_config
Sjekk brannmur
sudo ufw status
Sjekk om bruker er låst
sudo cat /etc/shadow | grep brukernavn
Lås opp bruker
sudo usermod -U brukernavn
Fjern gammel fingerprint
ssh-keygen -R servernavn
Legg inn fingerprint på nytt
ssh-keyscan servernavn >> ~/.ssh/known_hosts
Test konfigurasjon for feil
sudo sshd -t
Feilsøk med verbose-modus
ssh -v brukernavn@server
