Программы
Как узнать, кто подключился по SSH

Как узнать, кто подключился по SSH

Получение всех SSH-соединений из терминала Linux

Иногда становится интересно: кто же сейчас копается на сервере, а главное – откуда (с каких ip-адресов). Стандартный метод подключения к серверу – SSH. Его то мы и будем искать среди наших коннектов.

Если у вас современный Linux-дистрибутив, скорее всего, для работы сокетами у вас используется утилита ss. Так, к примеру, вы можете посмотреть все входящие и исходящие ssh-соединения:

ss -o state established '( dport = :ssh or sport = :ssh )'

Если же в ваших руках сервер-динозавр: стабильный, но не свежий, скорее всего, у вас будет использоваться утилита netstat. Так вы сможете получить всё те же входящие и исходящие ssh-соединения:

netstat -tnpa | grep 'ESTABLISHED.*sshd'

И совсем уже экзотический вариант – воспользоваться утилитой lsof, которая отвечает уже за открытые файловые дескрипторы. Но в Unix у нас "всё есть файл", так что и для открытых соединений сгодится:

lsof -n -a -itcp -stcp:established -c sshd

Ну и в конце концов, можно просто посмотреть залогиненных пользователей командой w

w
Изображение Шпаргалка по командам Linux, FreeBSD и MacOS