Sobes.tech
Junior

Ce să faci dacă conexiunea SSH se blochează?

sobes.tech AI

Răspuns de la AI

  1. Verificați conexiunea de rețea: Asigurați-vă că nu există probleme cu conexiunea la internet sau rețeaua locală. Efectuați un ping către server.
  2. Verificați încărcarea serverului: Este posibil ca serverul să fie suprasolicitat (CPU, RAM, I/O). Utilizați instrumente de monitorizare sau încercați să accesați prin consola hypervizor/provizor.
  3. Reporniți serviciul SSH: Pe partea serverului, dacă aveți acces prin alte mijloace (consolă, alt server SSH).
    # pentru sisteme bazate pe systemd
    sudo systemctl restart sshd.service
    
    # pentru sisteme bazate pe SysV init
    sudo service ssh restart
    
  4. Verificați setările serverului SSH: Fișierul /etc/ssh/sshd_config, acordați atenție parametrilor ClientAliveInterval și ClientAliveCountMax.
    # /etc/ssh/sshd_config
    ClientAliveInterval 60 # trimite un mesaj de verificare la fiecare 60 de secunde
    ClientAliveCountMax 3  # permite 3 mesaje pierdute
    
    După modificarea setărilor, reporniți serviciul SSH.
  5. Verificați setările clientului SSH: Fișierul ~/.ssh/config sau opțiunile din linia de comandă (-o). Parametrii ServerAliveInterval și ServerAliveCountMax.
    # ~/.ssh/config
    Host aliasul_serverului_tău
        Hostname ip-ul_sau_numele_serverului
        ServerAliveInterval 60
        ServerAliveCountMax 3
    
    Sau la conectare:
    ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 utilizator@ip-ul_sau_numele_serverului
    
  6. Verificați firewall-urile: Asigurați-vă că firewall-urile (locale pe client, server, rețea) nu blochează sau întrerup conexiunea pe portul 22 (sau alt port SSH utilizat).
  7. Verificați TMOUT/IDLE-Timeouts: Unele terminale sau medii au propriile setări de timeout pentru inactivitate, care pot duce la întreruperea conexiunii. Verificați variabila TMOUT în sesiunea bash pe server.
    # verificați variabila
    echo $TMOUT 
    
    # setați valoarea (de exemplu, 3600 secunde)
    export TMOUT=3600 
    
    Aceasta este o soluție temporară pentru sesiunea curentă. Pentru modificări permanente, editați fișierele .bashrc, .profile etc.
  8. Utilizați opțiunea -v pentru depanare: Detalierea procesului de conectare SSH.
    ssh -v utilizator@ip-ul_sau_numele_serverului
    
  9. Verificați jurnalele SSH: Pe partea serverului, /var/log/auth.log sau /var/log/secure (în funcție de sistemul de operare).
    # vedeți ultimele înregistrări din jurnalul de autentificare
    sudo tail /var/log/auth.log
    
  10. Utilizați un port sau protocol alternativ: Dacă portul standard 22 este blocat în rețea, încercați să utilizați alt port, dacă este configurat pe server. Sau utilizați alt protocol de acces (de exemplu, consola).