Назад | Перейти на главную страницу

Управление SSH-соединениями

На сервере Linux, как мне найти список всех текущих SSH-соединений или отключить конкретное SSH-соединение?

Если вы планируете сделать это в интерактивном режиме, самым простым было бы просто вызвать who и посмотрите, есть ли пользователи с удаленного хоста.

[you@host]$ who
user1      :0           Feb  8 09:45
user1      pts/1        Feb 14 17:56 (:0.0)
malcolm    pts/3        Feb 15 17:50 (cockpit.serenity.com)
reynold    pts/2        Feb 15 17:48 (host123.firefly.co.uk)

Это, конечно, не надежно, но чрезвычайно просто набирать по запросу и легко обрабатывать человеческим глазом.

Как отметил @gravyface, если вы включите -u вариант who также распечатает связанный PID, который вы затем можете передать kill чтобы разорвать соединение.

Как насчет использования lsof?

# lsof -i |grep ":ssh"

sshd    1943      root    3u  IPv6   5698       TCP *:ssh (LISTEN)
sshd    1943      root    4u  IPv4   5700       TCP *:ssh (LISTEN)
sshd    3217      root    3r  IPv4   9687       TCP www.example.com:ssh->192.168.61.11:7341 (ESTABLISHED)
sshd    3220      user1   3u  IPv4   9687       TCP www.example.com:ssh->192.168.61.11:7341 (ESTABLISHED)
sshd    3327      root    3r  IPv4  10595       TCP www.example.com:ssh->192.168.61.11:7385 (ESTABLISHED)
sshd    3330      user2   3u  IPv4  10595       TCP www.example.com:ssh->192.168.61.11:7385 (ESTABLISHED)

После этого у вас должна быть возможность убить вызывающее нарушение соединение (например, отключить user2):

# kill -9 3330

Чтобы просмотреть ssh-соединения, вы можете сделать netstat -atn | grep ':22'. Он показывает все подключения к порту 22.

Чтобы разорвать соединение, вы можете попробовать найти PID sshd (SSH Daemon) с помощью ps-ax.

Изменить: я думаю, вы можете найти PID их bash сеанс (или эквивалентная оболочка). Убийство должно их бросить.

Другой ресурс: эта тема есть несколько советов по этому поводу.

Попробуй это:

$ ps aux | grep sshd

Чтобы отключить их, вы могли kill PID (где PID - это идентификатор процесса во втором столбце), если у вас есть привилегии root или вы являетесь данным пользователем.