
Я подключаюсь по SSH с одного хоста Linux к другому хосту Linux, который я не администрирую. Он, /etc/ssh/sshd_config
по-видимому, настроен на автоматический выход из системы после интервала бездействия, который для меня слишком короток (Как включить автоматический выход из интерактивных SSH-входов через час?).
Есть ли способ поддерживать мой сеанс SSH активным, возможно, отправляя или получая символ новой строки каждые две минуты?
Обходные пути, подобные тем, while true { echo ' '; sleep 120 }
что были распространены во времена модемов коммутируемой связи).
Кстати, PuTTY от Windows здесь вообще не задействован.
решение1
Это TMOUT bash или ssh? Если это TMOUT, то здесь перечислены несколько вариантов.
-Эрик
решение2
Добавьте эту строку $HOME/.ssh/config
на стороне SSH-клиента:
ServerAliveInterval 60
Отрегулируйте интервал (60) в соответствии с вашими потребностями. См.страницы руководства для получения подробной информации.
Я надеюсь, что это помогает.
решение3
В Баше: while sleep 120; do printf '\33[0n'; done
.
Редактировать:Это выдает невидимую строку каждые две минуты. Этих символов, отправленных на терминал, достаточно, чтобы обмануть то, что ищет бездействие в сеансе ssh.
Чтобы остановить это и снова получить приглашение bash, просто нажмите Ctrl+C.
решение4
Попробуйте отредактировать ваш sshd_config
файл. В моем случае это был /etc/ssh/sshd_config
.
был:
ClientAliveInterval 300
ClientAliveCountMax 0
к:
ClientAliveInterval 6000
ClientAliveCountMax 3
Не забудь
service sshd restart