| diff --git a/serverloop.c b/serverloop.c |
| index e16eabe2..a8c99e2e 100644 |
| |
| |
| @@ -184,7 +184,8 @@ client_alive_check(struct ssh *ssh) |
| int r, channel_id; |
| |
| /* timeout, check to see how many we have had */ |
| - if (ssh_packet_inc_alive_timeouts(ssh) > |
| + if (options.client_alive_count_max > 0 && |
| + ssh_packet_inc_alive_timeouts(ssh) > |
| options.client_alive_count_max) { |
| sshpkt_fmt_connection_id(ssh, remote_id, sizeof(remote_id)); |
| logit("Timeout, client not responding from %s", remote_id); |
| diff --git a/sshd_config.5 b/sshd_config.5 |
| index d47cb0d2..2cddbd59 100644 |
| |
| |
| @@ -519,6 +519,9 @@ is set to 15, and |
| .Cm ClientAliveCountMax |
| is left at the default, unresponsive SSH clients |
| will be disconnected after approximately 45 seconds. |
| +Setting a zero |
| +.Cm ClientAliveCountMax |
| +disables connection termination. |
| .It Cm ClientAliveInterval |
| Sets a timeout interval in seconds after which if no data has been received |
| from the client, |