Da página de manual de ssh_config
:
ConnectTimeout
Specifies the timeout (in seconds) used when connecting to the SSH server, instead of using the default system TCP timeout. This value is used only when the target is down or really unreachable, not when it refuses the connection.
Pode não estar absolutamente claro a partir dessas linhas, mas o tempo limite é usado apenas para a chamada de sistema connect()
, basicamente antes da linha
debug1: Connection established.
e não para todas as outras respostas do servidor. Para isso, existe a opção ServerAliveInterval
, que ping
s servidor após cada X segundos para garantir que o servidor está respondendo após a conexão (por padrão, desativado). Mas você está atingindo o caso quando seu TCPKeepAlive
expira, o que é outro capítulo.