Sobes.tech
Junior

Čo robiť, ak sa pripojenie SSH zasekne?

sobes.tech AI

Odpoveď od AI

  1. Skontrolujte sieťové pripojenie: Uistite sa, že nie sú žiadne problémy s internetovým pripojením alebo lokálnou sieťou. Ping na server.
  2. Skontrolujte zaťaženie servera: Možno je server preťažený (CPU, RAM, I/O). Použite monitorovacie nástroje alebo skúste získať prístup cez konzolu hypervízora/poskytovateľa.
  3. Reštartujte SSH službu: Na strane servera, ak máte prístup inými spôsobmi (konzola, iný SSH server).
    # pre systémy založené na systemd
    sudo systemctl restart sshd.service
    
    # pre systémy založené na SysV init
    sudo service ssh restart
    
  4. Skontrolujte nastavenia SSH servera: Súbor /etc/ssh/sshd_config, venujte pozornosť parametrom ClientAliveInterval a ClientAliveCountMax.
    # /etc/ssh/sshd_config
    ClientAliveInterval 60 # odosielanie živého správy každých 60 sekúnd
    ClientAliveCountMax 3  # umožnenie 3 zmeškaných živých správ
    
    Po zmene nastavení je potrebné reštartovať SSH službu.
  5. Skontrolujte nastavenia SSH klienta: Súbor ~/.ssh/config alebo príkazové voľby (-o). Parametre ServerAliveInterval a ServerAliveCountMax.
    # ~/.ssh/config
    Host váš_server_alias
        Hostname váš_server_ip_or_hostname
        ServerAliveInterval 60
        ServerAliveCountMax 3
    
    Alebo pri pripojení:
    ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 user@váš_server_ip_or_hostname
    
  6. Skontrolujte firewally: Uistite sa, že firewally (miestne na klientovi, serveri, sieťové) neblokujú alebo neukončujú spojenie na porte 22 (alebo inom používanom porte SSH).
  7. Skontrolujte TMOUT/IDLE timeouty: Niektoré terminály alebo prostredia majú svoje nastavenia timeoutu neaktivity, ktoré môžu viesť k prerušeniu spojenia. Skontrolujte premennú TMOUT v bash relácii na serveri.
    # skontrolujte premennú
    echo $TMOUT 
    
    # nastavte hodnotu (napríklad 3600 sekúnd)
    export TMOUT=3600 
    
    Toto je dočasné riešenie pre aktuálnu reláciu. Pre trvalú zmenu upravte súbory .bashrc, .profile atď.
  8. Použite možnosť -v na ladenie: Detaily procesu pripojenia SSH klientom.
    ssh -v user@váš_server_ip_or_hostname
    
  9. Skontrolujte logy SSH: Na strane servera /var/log/auth.log alebo /var/log/secure (závisí od OS).
    # pozrite si posledné záznamy v logu autorizácie
    sudo tail /var/log/auth.log
    
  10. Použite alternatívny port alebo protokol: Ak je štandardný port 22 blokovaný niekde v sieti, skúste použiť iný port, ak je na serveri nakonfigurovaný. Alebo použiť iný protokol prístupu, ak je to možné (napríklad konzola).