Как показать все активные SSH-соединения в Linux
SSH — популярный и эффективный протокол, который позволяет вам входить в систему и управлять удаленными хостами с вашего локального компьютера. В этом руководстве описаны различные команды, которые можно использовать для проверки активных SSH-соединений на удаленном хосте.
Примечание. В зависимости от конфигурации системы для выполнения некоторых команд, которые мы собираемся обсудить, вам могут потребоваться права root или sudo
.
Читайте также: Как настроить и использовать SSH в Linux
1. Использование команды ВОЗ
Первая команда, которую вы можете использовать для отображения активных SSH-соединений, — это команда who
.
Команда who
используется, чтобы показать, кто в данный момент вошел в систему. Это позволяет нам просматривать подключенных пользователей и исходные IP-адреса.
Чтобы использовать команду who
, просто введите whoContents
1. Использование команды ВОЗ
iv>
![ВОЗ](https://saintist.ru/wp-content/uploads/2024/05/who.png)
В приведенном выше выводе вы можете видеть одного пользователя Debian, подключенного через tty, и двух сеансов SSH с удаленного IP-адреса.
Вы также можете добавить параметры к команде who
для отображения подробной информации.
Например, чтобы показать последнюю загрузку для подключенных пользователей, добавьте флаг -b -u
:
Команда who
предлагает дополнительные возможности для получения персонализированных результатов. Посетите страницу руководства, чтобы узнать больше.
Читайте также: Как создать SSH-приманку для поимки хакеров на вашем Linux-сервере
2. Использование команды W
Следующая команда, которую вы можете использовать для отображения статуса различных сеансов SSH и пользователей, подключенных к серверу, — это команда w
. В отличие от команды who
, команда w
предоставляет дополнительную информацию о запущенных процессах для каждого пользователя.
Кроме того, команда w
предоставит вам информацию о неактивных SSH-соединениях, что очень полезно, когда вам нужно их разорвать.
Если вы запустите команду без каких-либо других параметров, вы должны получить результат, аналогичный показанному ниже.
В приведенном выше примере команда w
предоставляет подробную информацию, такую как имя пользователя, метод TTY, исходный IP-адрес, время входа в систему, время простоя и многое другое.
Как и команду who
, вы также можете использовать команду w
с различными параметрами. В таблице ниже показаны различные параметры, которые можно использовать с командой w
.
Параметр |
Что он делает |
-h, –no- заголовок |
Сообщает терминалу не печатать заголовок |
-u, –no-current |
П2. Использование команды Wя пользователя, поскольку оно отображает процессы подключенных пользователей и время процессора |
-s, –short |
Указывает терминалу печатать сокращенный вывод – исключая время входа в систему, JCPU и PCPU |
-f, –from |
Включает/отключает опцию FROM вывода на печать |
–help |
Отображает различные параметры/параметры команды w и завершает работу |
-v, –version |
Отображает информацию о версии и выходит |
пользователь |
Сужает результаты до указанного пользователя |
В примере ниже показана команда w
, используемая с параметрами -s
и -f
для отображения сокращенного вывода текущих сеансов SSH с Часть FROM усечена.
Хотя команда w
используется редко, вы также можете использовать ее с параметрами среды и файла. Чтобы узнать больше об этих параметрах, рассмотрим справочные страницы.
Полезно знать: если вам нужно связать программы вместе по сети, вы можете используйте SSH-каналы в Linux .
3. Использование последней команды
Вы также можете использовать команду last
, чтобы просмотреть все подключенные сеансы SSH. Последняя команда показывает список последних вошедших в систему пользователей.
Это работает путем проверки указанного файла. Например, «/var/log/wtmp» показывает всех пользователей, которые входили и выходили из системы с момента создания файла. Команда также предоставляет вам информацию о созданных сеансах SSH между клиентом и сервером.
Общий синтаксис последней команды:
Вот пример.
Поскольку вывод последней команды огромен, мы можем использовать команду grep
, чтобы показать только активные сеансы.
Например:
Вы также можете изменить вывод последней команды, чтобы отобразить подробную информацию.
Например, чтобы отобразить полные имена пользователей и домены, мы можем использовать флаг -w
.
Последняя команда поддерживает множество опций. Вот наиболее часто используемые параметры последней команды.
Параметр |
Что он делает |
-a, –hostlast |
Отображает имя хоста в последнем столбце |
-d, –dns |
Linux хранит имена и IP-адреса всех удаленных хостов. Этот параметр превращает IP в имя хоста |
-файл, –file |
Сообщает последней команде использовать назначенный файл, отличный от /var/log/ wtmp |
-F, –fulltimes |
Последним запрашивает печать всех дат и времени входа и выхода из системы |
-i, –ip |
Аналогично -dns, за исключением того, что вместо имени хоста отображается IP-номер |
4. Использование команды netstat
Нельзя забывать о команде netstat
. Netstat используется для отображения всех сетевых подключений, сетевых интерфейсов, таблиц маршрутизации и многого другого.
Вы также можете использовать команду netstat для фильтрации установленных или подключенных сеансов SSH на вашем сервере Linux:
![Нетстат Греп Ssh](https://saintist.ru/wp-content/uploads/2024/05/netstat-grep-ssh.png)
<
Приведенная выше команда показывает только установленные SSH-соединения.
Чтобы показать все соединения, включая прослушиваемые и непрослушиваемые, мы можем использовать фла
3. Использование последней команды
-a | grep ssh
Если вы хотите узнать больше информации о подключенных сеансах SSH, вы можете использовать команду ss
, которая показывает данные сокета, что делает ее похожей на netstat
.р>
Вывод выше отображает все SSH-соединения на удаленном хосте. Сюда будет включен демон SSHD.
Чтобы отфильтровать установленные SSH-соединения, вы можете передать выходные данные обратно в grep.
Приведенные выше команды вернут только активные соединения SSH.