SSH: установить время ожидания для сломанной трубы

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

1 ответ

Решение

Опция ClientAliveInterval делает именно то, что вы хотите, он в основном отправляет пинги в указанный интервал (в секундах) и разрывает соединение, если он не получает ответа.

Чтобы контролировать, как быстро это убивает соединение, вы можете использовать ClientAliveCountMax, которое является максимальным количеством пингов, отправляемых без получения ответа, прежде чем считать соединение разорванным.

Другие вопросы по тегам