Sobes.tech
Junior

Cosa fare se la connessione SSH si blocca?

sobes.tech AI

Risposta dell'AI

  1. Verificare la connessione di rete: Assicurarsi che non ci siano problemi con la connessione Internet o la rete locale. Ping al server.
  2. Verificare il carico del server: Potrebbe essere sovraccarico (CPU, RAM, I/O). Utilizzare strumenti di monitoraggio o tentare di accedere tramite la console dell'hypervisor/fornitore.
  3. Riavviare il servizio SSH: Sul lato server, se si ha accesso tramite altri mezzi (console, altro SSH).
    # per sistemi basati su systemd
    sudo systemctl restart sshd.service
    
    # per sistemi basati su SysV init
    sudo service ssh restart
    
  4. Verificare le impostazioni del server SSH: File /etc/ssh/sshd_config, prestare attenzione ai parametri ClientAliveInterval e ClientAliveCountMax.
    # /etc/ssh/sshd_config
    ClientAliveInterval 60 # invia un messaggio di vita ogni 60 secondi
    ClientAliveCountMax 3  # permette 3 messaggi di vita mancati
    
    Dopo aver modificato le impostazioni, riavviare il servizio SSH.
  5. Verificare le impostazioni del client SSH: File ~/.ssh/config o opzioni da riga di comando (-o). Parametri ServerAliveInterval e ServerAliveCountMax.
    # ~/.ssh/config
    Host il_tuo_alias_server
        Hostname indirizzo_ip_o_nome_host
        ServerAliveInterval 60
        ServerAliveCountMax 3
    
    Oppure durante la connessione:
    ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 utente@indirizzo_ip_o_nome_host
    
  6. Verificare i firewall: Assicurarsi che i firewall (locali sul client, sul server, di rete) non blocchino o interrompano la connessione sulla porta 22 (o altra porta SSH usata).
  7. Verificare TMOUT/IDLE-timeouts: Alcuni terminali o ambienti hanno proprie impostazioni di timeout di inattività che possono causare la disconnessione. Verificare la variabile TMOUT nella sessione bash sul server.
    # verificare la variabile
    echo $TMOUT 
    
    # impostare il valore (ad esempio, 3600 secondi)
    export TMOUT=3600 
    
    Questa è una soluzione temporanea per la sessione corrente. Per modifiche persistenti, modificare i file .bashrc, .profile, ecc.
  8. Usare l'opzione -v per il debug: Dettagliare il processo di connessione SSH con il client.
    ssh -v utente@indirizzo_ip_o_nome_host
    
  9. Verificare i log SSH: Sul lato server, /var/log/auth.log o /var/log/secure (a seconda del sistema operativo).
    # visualizzare le ultime voci nel log di autenticazione
    sudo tail /var/log/auth.log
    
  10. Usare una porta o protocollo alternativo: Se la porta standard 22 è bloccata in qualche punto della rete, provare a usare un'altra porta, se configurata sul server. Oppure usare un altro protocollo di accesso (ad esempio, console).