如何在没有 sudo 的情况下找到 sshd 用来进行端口绑定的端口?

如何在没有 sudo 的情况下找到 sshd 用来进行端口绑定的端口?

要删除给定端口绑定,pid可以使用 找到sudo netstat -lnpt,然后使用 删除kill pid。由于进程名称已知 (sshd),启动它的非 sudoer 用户可以使用 找到 pid:

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

然后将其杀死。因此,对于非 sudoer 用户来说,可以轻松自动删除端口绑定。但是,如果用户启动了多个端口绑定,则上一个命令将返回多个sshd进程的多个 pid。如果用户只需要删除一个给定的端口绑定,则需要找到哪个 pid 正在监听该端口。

这可能吗 ?

答案1

如果你仍在寻找答案。大多数系统文件都可以由任何用户读取,因此如果你只需运行:

less /etc/ssh/sshd_config

您应该能够读取该文件。它应该包含类似 的内容Port 22,这是 SSH 正在监听的端口。

端口 22 是 SSH 的默认端口,因此如果该行被注释掉(#Port 22),那么它也监听端口 22。

答案2

如果您使用 Tectia,则可以使用以下命令检查 ssh-server 监听端口:

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

如果有多个 ssh-server 进程,并且每个进程都在监听不同的端口,则可以使用以下命令检查每个进程正在监听哪个端口:

ps -ef | grep "ssh-server"

相关内容