How to make putty to not break my session after some time?
Enable SSH keep-alives by changing the following setting to a positive value:
A value of 300 should suffice in most cases. (5 minutes.) This causes PuTTY to send SSH null packets to the remote host periodically, so that the session doesn't time out.
Note that we don't want the SO_KEEPALIVE
option lower on that page. That is a much lower-level mechanism which is best used only when the application-level protocol doesn't have its own keepalive mechanism. SSH does, so we shouldn't use TCP keepalives in this case.
There are other things that can cause connections to drop, but this is a solid first thing to try. If it doesn't work, you'd need to look into these other things: VPN timeouts, router timeouts, settings changes on the remote SSH server, flaky connections, etc.
Another thing to check is if your system is setting the environment variable TMOUT. To check this you can just do:
env | grep TMOUT
or
echo $TMOUT
If it is set, you could change it or unset it. To change the value:
export TMOUT=3600
Where the number is the number of seconds until you get logged out. Otherwise unset it to turn off the feature:
unset TMOUT
Note, it may be that your system administrator has set this for security reasons. So if you are not the system administrator you may want to check this before changing anything yourself.
In addition to the other answers, I'd suggest running screen
to be able to have session management even if putty does terminate (connection dying, vpn going down, etc.).