SSH: установить время ожидания для сломанной трубы
ssh
имеет параматер -o ConnectTimeout=10
установить время ожидания в секундах при установлении соединения, но как только соединение было установлено, параметр больше не действует. Когда умирает уже установленное соединение, ssh
занимает невероятное количество времени, прежде чем сказать мне Broken Pipe
, Это хорошо во многих случаях, так как я могу продолжить работу после проблем с сетью, но есть сценарии, в которых я хочу использовать небольшой тайм-аут, возможно, от 10 до 20 секунд, например, при использовании таких инструментов, как sshuttle
, Как я могу это сделать?
1 ответ
Опция ClientAliveInterval
делает именно то, что вы хотите, он в основном отправляет пинги в указанный интервал (в секундах) и разрывает соединение, если он не получает ответа.
Чтобы контролировать, как быстро это убивает соединение, вы можете использовать ClientAliveCountMax
, которое является максимальным количеством пингов, отправляемых без получения ответа, прежде чем считать соединение разорванным.