Как найти порт, используемый sshd для привязки порта без sudo?

Чтобы удалить привязку данного порта, pid можно найти с помощью sudo netstat -lnpt , а затем удалить с помощью kill pid . Поскольку имя процесса известно (sshd), пользователь, не являющийся sudoer, запустивший его, может найти pid с помощью:

$ ps --user user -o pid,comm | grep sshd
8543 sshd

И затем убить его. Таким образом, удаление привязки портов можно легко автоматизировать для пользователей, не использующих sudoer. Однако, если пользователем запущено несколько привязок портов, предыдущая команда вернет несколько идентификаторов pid для нескольких процессов sshd . Если пользователю нужно удалить только одну привязку данного порта, ему необходимо определить, какой pid прослушивает этот порт.

Возможно ли это?

1
задан 13 June 2018 в 04:01
2 ответа

Если вы все еще ищете ответ. Большинство системных файлов может читать любой пользователь, поэтому, если вы просто запустите:

less /etc/ssh/sshd_config

, вы сможете прочитать файл. В нем должно быть что-то вроде Port 22 , который является портом, который прослушивает SSH.

Порт 22 является портом по умолчанию для SSH, поэтому, если строка прокомментирована ( #Port 22 ), затем он также прослушивает порт 22.

0
ответ дан 4 December 2019 в 03:53

Если вы используете Tectia, вы можете проверить порт прослушивания ssh-сервера, используя следующую команду:

grep "port" < /etc/opt/SSHtectia/ssh-server-config.xml

Если существует несколько процессов ssh-server, и каждый из них прослушивает другой порт, вы можете проверить каждый обработайте, какой порт прослушивает, используя следующую команду:

ps -ef | grep "ssh-server"
0
ответ дан 4 December 2019 в 03:53

Теги

Похожие вопросы