5

Мне нужно создать ssh-соединение между двумя Linux-машинами под управлением Centos v5, но задержка может достигать 25 секунд. Я обнаружил, что если я тестирую что-то, подходящее к этой конфигурации искусственно, имитируя задержку туда и обратно 7 секунд или больше, используя:

tc qdisc add dev eth0 root netem delay 7s

Когда я пытаюсь:

ssh -n -o ConnectTimeout=0 WilliamKF@centos5Machine whoami

Это терпит неудачу приблизительно через 1 мин 23 сек с:

Connection closed by 10.35.50.114

Обратите внимание, что ConnectTimeout = 0 означает, что время ожидания никогда не истекает. Кроме того, имитация задержки в оба конца 6 секунд приводит к успешному ssh примерно через 1 мин 32 с.

Могу ли я что-нибудь сделать, чтобы ssh работал в условиях чрезвычайно высокой задержки в Linux? Почему ssh терпит неудачу на этом пороге? Когда я запускаю tcpdump, я не вижу ничего явно неправильного: около 51 пакета, какие пакеты tcpdump здесь полезны? Успех занял всего около 41 пакета.

1 ответ1

2

Короткий ответ: вы никогда не будете ждать достаточно долго с задержкой в 30 секунд на пакет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .