SSH (Secure Shell) - это сквозная зашифрованная сетевая система, которая позволяет пользователям получать удаленный доступ от клиента к серверу или системе. Благодаря асимметричной системе безопасности криптографии, доступ к серверу в значительной степени безопасен и надежен даже из небезопасной клиентской сети. Но иногда из-за бездействия или плохого сетевого сигнала удаленный доступ SSH может быть отключен. Какой бы ни была причина, для администратора Linux жизненно важно поддерживать сеансы и процессы SSH в рабочем состоянии после отключения.
Причины отключения сеансов SSH
Вкратце, ошибка прокси-сервера SSH-туннеля, тайм-аут сети, использование неправильного сетевого порта или даже отсутствие входа в систему в качестве пользователя root также могут привести к отключению от удаленного администрирования SSH. В этом посте мы собираемся обсудить наиболее часто задаваемый вопрос о SSH; как сохранить сеансы и процессы SSH после отключения.
1. Продолжайте запускать сеансы SSH, используя экран
Командование
В экран
команда - самая используемая и полезная команда для администрирования SSH. В экран
команда может решить проблемы с именем хоста для адресов IPv4 и IPv6. С корневыми функциями экран
команда может выйти из системы или закрыть сеанс от клиентской части до серверной. Если вы новичок в Linux SSH, вот несколько CLI, которые могут помочь вам установить и найти руководства по экран
команда.
Для Ubuntu:
экран установки $ sudo apt
Для OpenSUSE:
Экран установки $ sudo zypper
Для Arch Linux:
$ sudo pacman -S экран
Для Red Hat Enterprise Linux:
экран установки $ sudo yum
После того, как вы закончите установку, начните наблюдать за стартовым экраном вашей системы.
$ screen $ screen --help
Как только у вас есть доступ, SSH на сервер, вы хотите получить доступ удаленно. Если вы планируете долгую ночную работу со своей станции, но не хотите, чтобы ваш SSH-клиент отключался, вы можете использовать экран
команда. Это может отключить ваш сеанс экрана, но не беспокойтесь, задачи, которые вы инициировали, будут выполнены.
Чтобы отсоединить экран, нажмите Ctrl-A
а потом Ctrl-D
с твоей клавиатуры. Вы можете в любое время войти в систему, чтобы следить за ходом работы со своего терминала. Чтобы повторно подключиться или подключиться к существующему сеансу, используйте следующий интерфейс командной строки.
$ screen -r экран -D -r
2. Продолжайте запускать сеансы SSH, используя tmux
Инструмент
Tmux или терминальный мультиплексор - очень популярный и полезный инструмент для программистов и системных администраторов, который позволяет пользователям переключаться между программой в одном терминале. Чтобы сеансы SSH работали в фоновом режиме, tmux
может быть очень быстрым решением. Он может отсоединять и повторно подключать приложения, процессы в которых работают в фоновом режиме. Вот инструкция по установке tmux
для дистрибутивов Linux.
Для Arch Linux:
$ sudo pacman -S tmux
Для Red Hat Enterprise Linux:
$ sudo yum установить tmux
Для Ubuntu:
$ sudo apt-get install tmux
Для OpenSUSE:
$ sudo zypper установить tmux
После установки tmux
, начать tmux сессия
используя команды терминала. Установка не займет много времени. После того, как вы закончили установку, вы можете приступить к работе с tmux
. Начать tmux
, просто введите tmux в терминал.
$ tmux
Если вам нужно запустить несколько терминальных мультиплексоров, чтобы все сеансы SSH работали в фоновом режиме, в этом случае вы можете столкнуться с трудностями при переключении между ними tmux
к tmux
. Вот командные строки для переключения одной формы на другую.
$ tmux detach $ tmux attach $ tmux attach -t 2
Чтобы проверить все tmux
экран использовать tmux список
команда.
$ tmux ls
3. Продолжайте запускать сеансы SSH, используя Byobu
Инструмент
Инструмент byobu в основном используется для удаленного администрирования SSH и экранного мониторинга в Linux. Это программное обеспечение с открытым исходным кодом, которое может использоваться вместе с tmux
или экран
инструмент. Вы можете видеть текущий статус, уведомления и сообщения с помощью Byobu
инструмент. Хотя Byobu
по умолчанию устанавливается вместе с Ubuntu. Но если этого не произойдет, вы можете установить его на свой Linux-компьютер. Чтобы проверить, есть ли Byobu
установлен или нет в вашей системе, проверив другие версии byobu.
$ byobu --version
Затем включите byobu, это поможет сохранить ваши сеансы SSH в фоновом режиме даже после отключения.
$ byobu-enable
Здесь объясняются процессы установки с помощью интерфейса командной строки.
Для Ubuntu:
$ sudo apt install byobu
Для OpenSUSE:
$ sudo zypper addrepo https: // скачать.opensuse.org / репозитории / утилиты / openSUSE_Leap_42.3 / коммунальные услуги.репо
$ sudo zypper refresh $ sudo zypper install byobu
Для Arch Linux:
$ yaourt -S byobu $ packer -S byobu
Для Red Hat Enterprise Linux:
$ sudo yum install byobu
Для Fedora:
$ sudo dnf установить byobu
Чтобы начать с Byobu
, просто введите byobu в терминале и нажмите Enter.
$ byobu
Теперь, если вы используете tmux
или экран
, вы можете выбирать между любым из них для совместной работы с серверной частью.
$ byobu-select-backend
Теперь вы можете управлять сеансами SSH и поддерживать их работу в фоновом режиме после отключения, используя функциональные клавиши системной клавиатуры. Чтобы начать работу с SSH вместе с byobu, нажмите CTRL + SHIFT + F2
с клавиатуры, чтобы включить среду SSH. Чтобы перемещать сеансы SSH вперед и назад, вы можете использовать ALT + ВВЕРХ
а также ALT + ВНИЗ
.
Чтобы отключить сеанс SSH, нажмите F6
с клавиатуры. Теперь, если вы хотите отключить сеанс, но не отключите его, вот и все. Чтобы отключить сеансы SSH и по-прежнему оставаться на связи, нажмите SHIFT + F6
. Вот еще одна дополнительная клавиатурная команда для вас. Чтобы сохранить активным только текущий сеанс экрана и закрыть все остальные окна, нажмите ALT + F6
.
4. Продолжайте запускать сеансы SSH, используя нету
Командование
В нету
или команда no hangup - очень полезный альтернативный инструмент для экрана или tmux. Это также позволяет пользователям продолжать сеансы SSH даже после того, как они были отключены. В нету
команда указывает системе запускать все процессы в фоновом режиме, избегая зависания сигнала (SIGHUP).
Чтобы проверить нету
руководства и параметры из вашего терминала Linux, введите следующую команду в терминале и нажмите Enter.
Параметры $ nohup
Чтобы проверить текущие активные списки вакансий, используйте -л
команда с вашего терминала.
$ jobs -l
Теперь для SSH-соединения, чтобы избежать потери соединения и сохранить ваши сеансы после отключения, используйте командные строки nohup, следующие за вашей работой. Вы также можете получить выходной список ваших заданий в текстовом файле, используя команду cat вместе с командой nohup.
$ nohup ./Привет.sh $ cat nohup.вне
Чтобы запустить процесс в фоновом режиме, вы можете использовать &
символ сразу после нету
команда. Например, если я хочу проверить пинг для wordpress-408970-1286763.облачные приложения.com в фоновом режиме, командная строка будет такой же, как в следующей строке ниже. И когда вы думаете, что ваша работа сделана, чтобы увидеть результат, используйте pgrep
команда.
$ nohup ping ubuntupit.com & $ pgrep -a пинг
5. Продолжайте запускать сеансы SSH, используя отречься
Командование
Если у вас нет системных привилегий root, возможно, это решит вашу проблему. В отречься
команда может исключить любую задачу из текущего системного журнала. Таким образом, он может скрыть текущий процесс, чтобы избежать всех ошибок автоматического выхода из системы или зависания сигнала (SIGHUP). Фактически вы можете использовать команду управления процессом diswon, чтобы поддерживать сеансы SSH в рабочем состоянии, скрывая свою задачу.
Чтобы удалить или скрыть свою задачу из диспетчера задач, используйте команду diswon в терминале.
$ disown
Чтобы проверить текущий статус задачи, используйте текущую команду оболочки.
$ текущая оболочка
Вы также можете установить список задач с помощью однострочной команды терминала.
$ disown jobs1 $ disown jobs1 jobs2… jobsn
А чтобы проверить список задач, используйте -л
команда.
$ jobs -l
Чтобы удалить все текущие задания из окна, введите -а
синтаксис, следующий за командой disown.
$ disown -a
Чтобы удалить из окна только одно или текущее задание, используйте кнопку -р
синтаксис, следующий за командой diswon.
$ disown -r
Теперь для SSH, чтобы запустить задание в фоновом режиме после подключения сеанса, используйте -час
синтаксис. Этот процесс может поддерживать работу ваших сеансов SSH даже после отключения.
$ disown -h jobID $ disown -h% 2
Исправление тайм-аут
Ошибка SSH в RHEL
Когда вы подключены к SSH в Red Hat Enterprise Linux (RHEL), вы можете часто сталкиваться с проблемой тайм-аута и терять соединение. Эта проблема возникает из-за неправильной формы времени ответа либо на стороне клиента, либо на стороне хоста. В корневом каталоге Red Hat вы должны найти и отредактировать sshd_config.текст
файл для решения этой проблемы тайм-аута. Как только вы закончите, вы можете восстановить свое SSH-соединение даже после отключения.
Там внутри sshd_config.текст
, в файле вы найдете две опции, названные как ClientAliveInterval
а также ClientAliveCountMax
, вам необходимо отредактировать эти файлы журналов, чтобы максимально увеличить время отклика сервера на время отклика клиента. Интервал тайм-аута рассчитывается путем умножения значений ClientAliveInterval и ClientAliveCountMax.
Все, что вам нужно, это отредактировать продолжительность этих двух значений в соответствии с вашей системой и продолжительностью ответа сети. Если вы хотите максимизировать время 10 минут для окончания интервала клиента и 5 раз для подсчета клиентов, тогда ваш текстовый реестр внутри sshd_config.текст
файл будет как ниже. А затем перезапустите SSH.
ClientAliveInterval 10 мин. ClientAliveCountMax 5
Последние мысли
Для системного администратора поддержание сессий и процессов SSH в рабочем состоянии является важной задачей для удовлетворения требований клиента и выполнения поставленной задачи. Отсоединение и частые потери сеансов очень раздражают и утомительны. Итак, в этом посте мы попытались обсудить и проиллюстрировать причины, по которым сеансы SSH отключаются, а также описали все возможные методы того, как поддерживать сеансы SSH после отключения.
Если вы когда-либо сталкивались с проблемой отключения сеанса SSH и знаете, как это может быть неприятно, поделитесь с нами своим опытом. А также оставьте комментарий, если у вас есть что добавить или спросить что-либо, связанное с этим сообщением, в разделе комментариев. Не забудьте поделиться этим постом с друзьями в социальных сетях.