Если вы вошли в удаленную систему Linux через SSH, вам просто нужно использовать команду exit для выхода из SSH.
exit
Отлично. Но что, если вы хотите отключить какого-либо другого пользователя с помощью SSH-соединения?
В этой быстрой подсказке мы покажем вам, как вы можете выгнать любого пользователя из системы.
Выкинуть пользователя из сеанса SSH
Сначала проверьте список пользователей, вошедших в систему на вашем сервере Linux. Это можно сделать разными способами. Мы будем использовать команду who с опцией -u. Этот параметр отображает идентификатор процесса сеанса оболочки входа пользователей.
who -u
Вот пример вывода:
root@localhost:~# who -u andreyex pts/0 2021-04-06 16:19 00:01 27382 (217.043.088.107) alex pts/1 2021-04-06 16:20 . 27583 (217.043.088.107) root pts/2 2021-04-06 16:21 . 27654 (217.043.088.107)
Теперь представьте, что мы хотим прекратить использование сеанса alex в SSH. Идентификатор процесса его сеанса оболочки — 27583. Если вы завершите сеанс оболочки входа в систему, пользователь будет отключен.
Для этого вы можете использовать команду kill для отправки сигнала SIGHUP. Этот сигнал используется для сообщения о том, что терминал пользователя отключен. Он также эффективно отключает все процессы в сеансе от управляющего терминала.
sudo kill -HUP 27583
Конечно, чтобы выполнить такое действие, вы должны быть пользователем root или sudo.
Есть несколько вещей, которые вам следует знать и делать.
Отправить сообщение перед завершением сеанса
Это хорошая идея, чтобы проинформировать конечного пользователя, прежде чем вы завершите его/ее сеанс. Вы можете использовать команду записи, чтобы быстро отправить сообщение пользователю следующим образом:
echo "Your session will end in 2 minutes. Save your work!" | write alex pts/2
Принудительно завершить сеанс SSH, если SIGNHUP не работает
Если сигнал SIGHUP не работает, отправьте сигнал SIGKILL.
sudo kill -9 27583
Вы также можете выйти из выбранного сеанса пользователя, если у пользователя более одного сеанса SSH
Если один и тот же пользователь входит в систему из более чем одной системы или терминала, это влияет только на сеанс, который вы убиваете. Это не удалит пользователя из всех сеансов.
Это тот случай, когда ваш сеанс SSH зависает по какой-то причине, например, при отключении сети. Вы можете убить терминал и открыть еще один сеанс SSH с нового терминала, но теперь вы видите, что дважды вошли в систему.
В таком случае вы можете закрыть сеанс, который больше не должен быть активным.
Вы можете определить, какого пользователя начать, по времени входа в журнал, который виден в выходных данных whoкоманды. Не волнуйтесь, в худшем случае вы откажетесь от текущего сеанса. Но тогда вы можете войти снова.
Надеемся, этот быстрый совет помог вам выйти из сеанса SSH в Linux. Ваши вопросы и предложения приветствуются.