Я использую ssh -p8520 username@remote_host
для входа на удаленный сервер.
вопрос :
Он всегда подключен и работает правильно, когда я нахожусь на рабочем месте. К сожалению, терминал зависает через 10 - 15 минут после того, как я подключился к удаленному серверу из дома.
На консоли нет отчета об ошибке / тайм-ауте, но курсор больше не может двигаться.
Когда войти w чтобы проверить логин пользователей, некоторые зомби-логин есть, и мне приходится их убивать вручную.
Это довольно раздражает. Может кто-нибудь помочь мне?
screen
. Может быть, это какая-то проблема с тайм-аутом.screen
помогает поддерживать работоспособность программы. К сожалению, иногда мне приходится работать на удаленном сервере :(screen
только? Это может решить проблему потерянного соединения? Нетscreen -S screenName
? Я всегда использую экран с-S
и-r
screen
. Вы, кажется, уже знаете это;)Ответы:
Демон ssh (sshd), который запускается на стороне сервера, закрывает соединение со стороны сервера, если клиент отключается (т. Е. Не отправляет информацию). Чтобы предотвратить потерю соединения, проинструктируйте клиента ssh время от времени отправлять на сервер сигнал о пожизненном знаке.
Конфигурация для этого находится в файле
$HOME/.ssh/config
, создайте файл, если он не существует (файл конфигурации не должен быть общедоступным, поэтому запускайтеchmod 600 ~/.ssh/config
после создания файла). Чтобы отправлять сигнал, например, каждые четыре минуты (240 секунд) на удаленный хост, поместите в этот файл конфигурации следующее:Чтобы разрешить отправку сигнала keep-alive для всех хостов, поместите в файл конфигурации следующее содержимое:
источник
ServerAliveInterval
а сервер используетClientAliveInterval
. Какой беспорядокЯ хотел одноразовое решение:
Хранится в псевдониме:
Теперь можно подключиться так:
источник
Host *
иServerAliveInterval 240
(или указать имя хоста, если вы хотите только ,myname@myhost.com
как в ответ rockymonkey555 в Настройка псевдонима не кажется , что проще никак?.alias ssh='ssh -o ServerAliveInterval=60'
ServerAliveInterval
в60
, большой. Однако использование псевдонима bash, когда это возможно,.ssh/config
просто глупо.Для тех, кому интересно, @ edward-coast
Если вы хотите установить keep keep для сервера , добавьте это в
/etc/ssh/sshd_config
:источник
ClientAliveInterval
чтобы сервер проверял наличие клиента, или я должен позволить клиенту "пинговать" серверServerAliveInterval
несколько раз? Оба, кажется, не имеют смыслаClientAliveInterval
на сервере только в том случае, если вы хотите, чтобы сервер отключался от мертвых соединений, которые не отвечают, и вы можете настроить, как часто и когда это происходит.FYI Putty Пользователи могут установить параметры здесь
источник
Мы можем поддерживать наше соединение ssh, следуя глобальным конфигурациям
Добавьте следующую строку в
/etc/ssh/ssh_config
файл:источник