Odpowiedzi:
Inną sprawą do sprawdzenia jest to, czy system ustawia zmienną środowiskową TMOUT. Aby to sprawdzić, wystarczy:
env | grep TMOUT
lub
echo $TMOUT
Jeśli jest ustawiony, możesz go zmienić lub rozbroić. Aby zmienić wartość:
export TMOUT=3600
Gdzie liczba jest liczbą sekund do wylogowania. W przeciwnym razie wyłącz go, aby wyłączyć funkcję:
unset TMOUT
Uwaga: być może administrator systemu ustawił to ze względów bezpieczeństwa. Jeśli więc nie jesteś administratorem systemu, możesz to sprawdzić przed samodzielną zmianą.
Włącz utrzymanie aktywności SSH, zmieniając następujące ustawienie na wartość dodatnią:
W większości przypadków wystarczy 300. (5 minut.) Powoduje to, że PuTTY okresowo wysyła pakiety zerowe SSH do zdalnego hosta, aby sesja nie przekroczyła limitu czasu.
Pamiętaj, że nie chcemy, aby ta SO_KEEPALIVE
opcja była niższa na tej stronie. Jest to znacznie niższy poziom mechanizmu, który najlepiej jest stosować tylko wtedy, gdy protokół na poziomie aplikacji nie ma własnego mechanizmu utrzymywania aktywności. SSH tak robi, więc w tym przypadku nie powinniśmy używać pakietów podtrzymujących TCP.
Są inne rzeczy, które mogą powodować zrywanie połączeń, ale jest to solidna pierwsza rzecz do wypróbowania. Jeśli to nie zadziała, musisz przyjrzeć się innym rzeczom: limity czasu VPN, limity czasu routera, zmiany ustawień na zdalnym serwerze SSH, niestabilne połączenia itp.
Jeśli żadne z powyższych nie pomogło,
musisz zmienić systemowe konfiguracje sshd!
PAMIĘTAJ, ŻE POTRZEBUJESZ W TYM POZWOLENIU NA ROOT!
Edytuj
sshd_config
plik, w moim przypadku został on zlokalizowany/etc/ssh/sshd_config
treść była:
ClientAliveInterval 300
ClientAliveCountMax 0
zmień na:
ClientAliveInterval 6000
ClientAliveCountMax 3
Nie zapomnij
service sshd restart
Możesz użyć top
polecenia w wierszu poleceń powłoki. To utrzyma twoją sesję przy życiu.
W Connection>SSH
menu kitu użyj następującej wartości jako Remote command:
bash --rcfile <(echo 'source ~/.bash_profile; unset TMOUT')
.
top
gdy Cię nie ma.