Как предотвратить случайное зависание autossh?

Я использую autossh для создания обратного туннеля ssh, но время от времени туннель перестает работать, и мне нужно убить autossh и запустить его снова.

/etc/cron.d/autossh
@reboot autossh -f -nNT -R 3269:intranet.example.com:3269 public.example.com &

autossh, похоже, остается в странном состоянии, когда переадресованный порт все еще открыт, но вы не получите ответа с другой стороны. После перезапуска autossh это решается.

Как я могу предотвратить возникновение этой проблемы?

12
задан 15 November 2012 в 13:22

1 ответ

Используйте ServerAliveInterval (со значением в секундах), чтобы клиент ssh отправлял нулевой (keepalive) пакет по зашифрованному каналу так часто, чтобы обнаружить разрывное соединение: [ 118]

/etc/cron.d/autossh
@reboot autossh -f -nNT -R 3269:intranet.example.com:3269 -o ServerAliveInterval=30 public.example.com &

Вероятно, вам также следует установить соответствующую настройку ClientAliveInterval в /etc/ssh/sshd_config на вашем сервере , чтобы сервер также прерывал клиентские подключения:

# Drop dead client connections after 10 minutes of inactivity
ClientAliveInterval 600
0
ответ дан 15 November 2012 в 13:22

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

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