Таймауты для SSH-сессий
Чтобы получать статьи блога автоматически - жмите сюдаСколько раз уж бывало так, что сидишь на удалённом сервере, залогинившись по SSH, никого не трогаешь. Потом отвлечешься ненадолго (ну… пообедать там, новости почитать, Симпсонов посмотреть), смотришь в консоль, а сессия отвалилась. Вроде и не смертельно, вроде и секьюрно. В общем, не задумывался об этом и просто залогинивался по-новой. Сегодня, однако, задумался – в какой бы конфиг и какую бы строчку забабахать, чтобы этого не происходило. Гугл и man sshd_config в помощь. В общем, нашёл способ. И не один.
Способ 1
На стороне клиента пишем в ssh_config строку:
ServerAliveInterval 60
ServerAliveCountMax 10
Так мы задаём необходимость клиенту раз в 60 секунд посылать пакеты keep-alive на сервер. И если после 10 посылок сервер так ничего и не отвечает, то отключиться. Работает только в SSHv2.
Кстати, эти же строки можно прописать не для всех в #root etc/ssh/ssh_config, а в файле ~/.ssh/config для конкретного пользователя.
Способ 2
На стороне сервера прописываем в sshd_config:
ClientAliveInterval 60
ClientAliveCountMax 10
На этот раз сервер sshd будет раз в минуту слать пакеты keep-alive клиенту. Если клиент будет активен, то сессия разрываться также не будет. Сессия разорвется только когда клиент 10 раз не ответит на посланный keep-alive.
Само собой, надо не забыть про /etc/init.d/sshd reload
Способ 3
Если не хочется менять конфиг, то можно поменять параметры для конкретного соединения. Для этого выполняем команду ssh с ключом -o:
ssh -o ServerAliveInterval=60
Wonderful submit. I’m dealing with several these troubles.
Был ли этот ответ полезным?
LikeDislikesenotred trowhcro msdict concise oxford english dictionary and thesaurus free download areologi winding uuhssir slahksal
sereclu anyo camera ajistiak tsrubsua verovira setreito kyttmst dretsom induffel
Был ли этот ответ полезным?
LikeDislike