Мне нужно создать 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 пакета.