Что вызывает ssh прерывание?

Новый процесс будет создан в fork() звоните, и запустится путем возврата из него точно так же, как родитель. Возвращаемое значение (в котором Вы сохранили retval) от fork() будет:

  • 0 в дочернем процессе
  • PID ребенка в родительском процессе
  • - 1 в родителе, если был отказ (нет никакого ребенка, естественно),

Ваш код тестирования работает правильно; это хранит возвращаемое значение от fork() в child_pid и использование if проверять, ли это 0 или не (хотя это не проверяет на ошибку),

5
19.01.2011, 12:29
2 ответа

Вот несколько вещей, которые можно попробовать:

1) Это наиболее вероятно оболочка, которая испытывает таймаут. Отключите тайм-аут путем сбрасывания TMOUT в Вашем профиле. TMOUT число секунд, что удар ожидает входа перед завершением. Эхо $TMOUT видеть, установлено ли это. Добавьте следующее к своему профилю:

unset TMOUT

2) Настройте PuTTY для отправки пакетов проверки активности путем входа:

Settings > Connection > Seconds between keepalives = 60

3) Настройте Ваш sshd_config (обычно найденный в /etc/ssh) и добавьте:

TCPKeepAlive yes
ClientAliveInterval 60

Сохраните файл и перезапуск sshd.

6
27.01.2020, 20:32
  • 1
    в теории это должно всегда устанавливать установленную связь? я попробую ClientAliveInterval –  c2h2 19.01.2011, 19:53
  • 2
    Это работает отлично!!!! havn't разъединился в течение 24 часов, где обычно повреждается каждый час. –  c2h2 20.01.2011, 11:34

Это наиболее вероятно брандмауэр, который сокращает Ваше неактивное соединение через некоторое время.

Можно настроить openssh сервер или клиент для отправки KeepAlive через некоторое время.

Отправляйте KeepAlive каждые 5 минут на сервер:

ssh user@server -o ServerAliveInterval=300

Если Вы управляете openssh-server, можно также отправить KeepAlives клиенту после определенного интервала. Добавьте следующее к /etc/ssh/sshd_config:

ClientAliveInterval 300
TCPKeepAlive yes

TCPKeepAlive должен быть yes по умолчанию.

Перезапустите openssh-server после модификации:

/etc/init.d/ssh restart
11
27.01.2020, 20:32

Теги

Похожие вопросы