Таймауты для SSH-сессий
Date February 21st, 2010 Author Vitaly Agapov
Сколько раз уж бывало так, что сидишь на удалённом сервере, залогинившись по SSH, никого не трогаешь. Потом отвлечешься ненадолго (ну… пообедать там, новости почитать, Симпсонов посмотреть), смотришь в консоль, а сессия отвалилась. Вроде и не смертельно, вроде и секьюрно. В общем, не задумывался об этом и просто залогинивался по-новой. Сегодня, однако, задумался – в какой бы конфиг и какую бы строчку забабахать, чтобы этого не происходило. Гугл и man sshd_config в помощь. В общем, нашёл способ. И не один.
Способ 1
На стороне клиента пишем в ssh_config строку:
ServerAliveInterval 60
ServerAliveCountMax 10
Так мы задаём необходимость клиенту раз в 60 секунд посылать пакеты keep-alive на сервер. И если после 10 посылок сервер так ничего и не отвечает, то отключиться. Работает только в SSHv2.
Кстати, эти же строки можно прописать не для всех в 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
Tags: Linux, SSH
Category:
Linux |
3 Comments »
27 February 2010 - 1:08
http://nyse-trade.ru/pochemu-ne-rabotaet-verxnee-menyu-sajta/
Я попробовал как ты сказал, не помогло (((
1 March 2010 - 15:53
Solved…
19 December 2012 - 17:42
Все работает!!! Респект спасибо и уважуха!