2016-11-21 2 views
-1

Я пытаюсь запустить команду, которая может занять 1+ часов, и я пытался добавитьКак сохранить соединение ssh от закрытия?

while sleep 300; do echo "1"; done 

так, чтобы он не отсоединять меня за простоя, и она работала.

Но он по-прежнему отключается по другой причине, по другой причине он говорит, что соединение с *.*.*.* закрыто удаленным хостом.

Я предполагаю, что это просто ограничение по умолчанию или что-то, чего я действительно не знаю?

Есть ли способ увеличить это время или просто заставить его никогда не разъединяться?

Если нет способа сохранить эту команду даже после закрытия ssh-соединения?

+1

Большинство, возможно, все клиенты SSH я видел есть своего рода держать живой вариант. В linux вам, скорее всего, придется редактировать файл ssh.config, см. Http://stackoverflow.com/questions/25084288/keep-ssh-session-alive –

ответ

1

Если вы не можете изменить настройку сервера, вы должны запустить свой ssh, указав частые сигналы keep-alive, чтобы ваша команда могла завершиться. Например.

ssh -o ServerAliveInterval=20 [email protected] 

должен выпустить «живой» сигнал каждые 20 секунд к серверу, так что держать связь живой

+0

Вы неправильно поняли значение этой опции. Интервал настройки до 7200 секунд не будет вызывать кепальные сообщения в течение 2 часов, что в основном похоже на его отключение. – Jakuje

+0

Позор мне. Я обновил свой ответ. –

+0

Я сделал это, и я сделал это и на сервере. но я должен был также сохранить команду while, чтобы она работала с каждым! –