Sobes.tech
Junior

Wat te doen als de SSH-verbinding vastloopt?

sobes.tech AI

Antwoord van AI

  1. Netwerkverbinding controleren: Zorg ervoor dat er geen problemen zijn met de internetverbinding of het lokale netwerk. Ping de server.
  2. Serverbelasting controleren: Mogelijk is de server overbelast (CPU, RAM, I/O). Gebruik monitoringtools of probeer toegang te krijgen via de console van de hypervisor/provider.
  3. Herstart de SSH-service: Aan de serverzijde, als je toegang hebt via andere middelen (console, andere SSH-server).
    # voor op systemd gebaseerde systemen
    sudo systemctl restart sshd.service
    
    # voor op SysV init gebaseerde systemen
    sudo service ssh restart
    
  4. Controleer de SSH-serverinstellingen: Bestand /etc/ssh/sshd_config, let op de parameters ClientAliveInterval en ClientAliveCountMax.
    # /etc/ssh/sshd_config
    ClientAliveInterval 60 # verzendt elke 60 seconden een alive-bericht
    ClientAliveCountMax 3  # staat 3 gemiste alive-berichten toe
    
    Na het wijzigen van de instellingen, herstart de SSH-service.
  5. Controleer de SSH-clientinstellingen: Bestand ~/.ssh/config of commandoregelopties (-o). Parameters ServerAliveInterval en ServerAliveCountMax.
    # ~/.ssh/config
    Host jouw_server_alias
        Hostname jouw_server_ip_of_hostnaam
        ServerAliveInterval 60
        ServerAliveCountMax 3
    
    Of bij het verbinden:
    ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 gebruiker@jouw_server_ip_of_hostnaam
    
  6. Controleer firewalls: Zorg dat firewalls (lokaal op de client, server, netwerk) de verbinding niet blokkeren of verbreken op poort 22 (of een andere gebruikte SSH-poort).
  7. Controleer TMOUT/IDLE-timeouts: Sommige terminals of omgevingen hebben hun eigen inactiviteitsinstellingen die kunnen leiden tot het verbreken van de verbinding. Controleer de variabele TMOUT in de bash-sessie op de server.
    # controleer de variabele
    echo $TMOUT 
    
    # stel de waarde in (bijvoorbeeld 3600 seconden)
    export TMOUT=3600 
    
    Dit is een tijdelijke oplossing voor de huidige sessie. Voor permanente wijzigingen, bewerk .bashrc, .profile, enz.
  8. Gebruik de -v optie voor debugging: Gedetailleerde weergave van het SSH-verbindingproces.
    ssh -v gebruiker@jouw_server_ip_of_hostnaam
    
  9. Controleer de SSH-logs: Aan de serverzijde, /var/log/auth.log of /var/log/secure (afhankelijk van het OS).
    # bekijk de laatste vermeldingen in het authenticatielog
    sudo tail /var/log/auth.log
    
  10. Gebruik een alternatieve poort of protocol: Als de standaardpoort 22 ergens in het netwerk wordt geblokkeerd, probeer dan een andere poort, indien geconfigureerd op de server. Of gebruik een ander toegangprotocol (bijvoorbeeld console).