Clienții SSH o să se deconecteze de la server după o anumită perioadă de inactivitate, tocmai, de aceea, în acest tutorial o să dezactivăm acest lucru. Acest fapt se datorează configurației SSH pentru a ține resursele libere. Acest lucru vine, adesea, în mod implicit, iar pentru a scăpa de acest lucru trebuie să mărim timpul de timeout sau să-l dezactivăm.
Evitați expirării sesiunii SSH de la server
Dacă aveți acces administrativ la serverul SSH, îl puteți configura astfel încât să nu deconecteze sesiunile inactive. Putem face acest lucru modificând următorii parametrii: TCPKeepAlive, ClientAliveInterval și ClientAliveCountMax. Parametrii se găsesc în fișierul /etc/ssh/sshd_config.
1.) Deschidem fișierul /etc/sshd_config
nano /etc/ssh/sshd_config
2.) Modificăm astfel:
TCPKeepAlive no
ClientAliveInterval 30
ClientAliveCountMax 240
Prin aceste rânduri serverul nu o să trimită pachetul TCP alive pentru a verifica dacă conecțiunea există, totuși, o să trimită un mesaj criptat alive la fiecare 30 secunde. O să se deconecteze doar după două ore de inactivitate.
3.) Restartăm SSHd.
service sshd restart
Evitați expirării sesiunii SSH de la client
Dacă nu aveți acces administrativ la server, poți clientul SSH pentru a trimite mesajul alive către server. Rezultatul este același. Acest lucru se face prin opțiunea ServerAliveInterval pentru clientul SSH.
Puteți face acest lucru actualizând /etc/ssh/ssh_config (aplicând setarea pentru fiecare utilizator din sistem) sau în ~/.ssh/config (un singur utilizator). Setați următoarea opțiune pentru ca clientul să trimită pachetul alive la fiecare 30 de secunde către server;
ServerAliveInterval 30
O altă alternativă este de a seta aceast parametru înainte de conectare, din linia de comandă, pur și simplu adaugi prefixul -o ServerAliveInterval=numarulDeSecunde
$ ssh -o ServerAliveInterval=30 root@vps.virtono.ro