Terminate SSH Connections That Hang or Become Idle
5,049
I believe the settings you are looking for are:
ServerAliveInterval 120
ServerAliveCountMax 2
From man ssh_config:
ServerAliveCountMax
Sets the number of server alive messages (see below) which may be sent
without ssh(1) receiving any messages back from the server. If this
threshold is reached while server alive messages are being sent, ssh
will disconnect from the server, terminating the session. It is
important to note that the use of server alive messages is very dif‐
ferent from TCPKeepAlive (below). The server alive messages are sent
through the encrypted channel and therefore will not be spoofable.
The TCP keepalive option enabled by TCPKeepAlive is spoofable. The
server alive mechanism is valuable when the client or server depend on
knowing when a connection has become inactive.
The default value is 3. If, for example, ServerAliveInterval (see
below) is set to 15 and ServerAliveCountMax is left at the default, if
the server becomes unresponsive, ssh will disconnect after approxi‐
mately 45 seconds.
ServerAliveInterval
Sets a timeout interval in seconds after which if no data has been
received from the server, ssh(1) will send a message through the
encrypted channel to request a response from the server. The default
is 0, indicating that these messages will not be sent to the server.
Related videos on Youtube
Author by
arnpry
Updated on September 18, 2022Comments
-
arnpry over 1 year
I have come across some instances where an SSH connection on my Linux OS will become idled, freezing and staying open. Eventually, this causes a fork bomb and the following error messages:
/etc/profile.d/locallib.sh: fork: retry: No child processes /etc/profile.d/locallib.sh: fork: Resource temporarily unavailable rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 254) at io.c(226) [sender=3.1.1]
Will setting the following configurations in
~/.ssh/ssh_config
prevent these idled SSH connections?Host * ClientAliveCountMax 3 ClientAliveInterval 0
-
Daniel B over 4 yearsThose are
sshd_config
options, not client options. Are you concerned about incoming connections or outgoing connections. Are you sure they are idle? Or are they hanging? You should investigate the actual error because it’s definitely not normal. -
Daniel B over 4 yearsCheck this question.
-