способность является предпочтительной программой для управления пакетом от консоли и для установок пакета и для пакета или обновлений системы в Debian.
Вот обзор инструмента и функций, которые он имеет по Кв. - доберитесь: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
Так, мой совет только к склонному - получают способность установки :)
ServerAliveInterval: число секунд, что клиент будет ожидать прежде, чем отправить пустой пакет на сервер (для поддержания соединения).
ClientAliveInterval: число секунд, что сервер будет ожидать прежде, чем отправить пустой пакет клиенту (для поддержания соединения).
Устанавливание значения 0 (значение по умолчанию) отключит эти опции, таким образом, Ваше соединение могло отбросить, если это неактивно слишком долго.
ServerAliveInterval, кажется, наиболее распространенная стратегия поддержать соединение. Для предотвращения поврежденной проблемы канала вот, конфигурация ssh, которую я использую в своем .ssh/config файле:
Host myhostshortcut
HostName myhost.com
User barthelemy
ServerAliveInterval 60
ServerAliveCountMax 10
Вышеупомянутая установка будет работать следующим образом,
ClientAliveCountMax на стороне сервера мог бы также помочь. Это - предел того, сколько времени клиенту разрешают остаться безразличным прежде чем быть разъединенным. Значение по умолчанию равняется 3, как в трех ClientAliveInterval.
Вы могли также выполнить команды с nohup
если Вы хотите, чтобы они работали независимо от Вашего соединения SSH.
например.
$ nohup tar -xzf some_huge.tar.gz &
&
я думаю, не необходимый, но это удобно, так как это делает процесс выполненным в фоновом режиме, таким образом, можно сделать другой материал.
Я всегда использую nohup для любого процесса, который берет некоторое время, так, чтобы я не запускал, если я теряю соединение по любой причине - перебой в питании (в моем удаленном местоположении, не в хосте, очевидно), сетевое отключение электричества, безотносительно.
zsh
пользователи должны придерживаться с disown -h
вместо nohup
, если проблема не была решена с тех пор.
– Buttle Butkus
22.07.2017, 01:19
Так как вы не можете гарантировать, что SSH-соединение (будучи TCP) останется в живых после того, как один конец перестанет посылать ACK-пакеты в принимаемые пакеты, Я лично использую http: //www. harding.motd.ca/autossh/, чтобы перезапустить все мои SSH-соединения почти сразу же, как только я откажусь от них.
Поскольку GNU Screen будет использоваться на стороне сервера, повторное подключение приведет меня туда, где я был раньше.
Вы можете заставить его прослушивать дополнительные порты, чтобы он постоянно проверял соединения, но лично я считаю, что он достаточно хорошо работает с отключенным SSH и просто полагаюсь на собственный ServerAliveInterval
/ ServerAliveCountMax
.
Другой вариант - это http://mosh.mit.edu/, который использует UDP и без проблем восстанавливается после длительного отсутствия соединения.
.Поместите ваш долго выполняющийся сеанс внутрь screen. Смотрите screen -h для подробностей
Таким образом, вы сможете переподключиться к машине по ssh и снова подключиться к сессии screen
Это объясняется в sshd_config
руководство ( man sshd_config
):
ClientAliveInterval
Устанавливает интервал тайм-аута в секундах, по истечении которого, если от клиента не было получено никаких данных, sshd отправит сообщение через зашифрованный канал, чтобы запросить ответ от клиента. Значение по умолчанию - 0, что означает, что эти сообщения не будут отправлены клиенту. Эта опция применима только к протоколу версии 2.
ClientAliveCountMax
Значение по умолчанию - 3. Если для
ClientAliveInterval
(см. Ниже) установлено значение 15, а дляClientAliveCountMax
оставить значение по умолчанию, не отвечающие на запросы клиенты SSH будут отключены. примерно через 45 секунд. Эта опция применима только к версии протокола 2.
Для опций клиента см. Объяснение в man ssh_config
:
ServerAliveInterval
Устанавливает интервал тайм-аута в секундах, после которого, если данные не были получены от сервера,
ssh
отправит сообщение через зашифрованный канал, чтобы запросить ответ от сервера. Значение по умолчанию - 0, что означает, что эти сообщения не будут отправляться на сервер. Эта опция применима только к протоколу версии 2.
ServerAliveCountMax
Значение по умолчанию - 3. Если, например,
ServerAliveInterval
установлено на 15, аServerAliveCountMax
остается по умолчанию, если сервер перестает отвечать на запросы,ssh
отключится примерно через 45 секунд. Эта опция применима только к версии протокола 2.
Исходя из вышеизложенного, 0 означает, что он отключен. Поэтому вы должны установить эти значения достаточно высокими, чтобы избежать ошибки Broken pipe .