如何查找启动进程的 ssh 会话

如何查找启动进程的 ssh 会话

如何找到从某个 ssh 会话启动的进程。

例如,我为我的几个朋友提供了相同的 ssh 凭据(又名 userzxc/passwordzxc),其中我已经知道哪些 IP。

我的目标是找出特殊 ssh 会话和某些正在运行/启动的进程之间的链接,以控制谁可以导致崩溃/崩溃/破坏/等。我的机器上的服务。

  1. 也许有相应的应用程序/服务
  2. 或者也许有几个命令可以实现它

谢谢。

答案1

关于什么

pstree -lnu | less 

或者

pstree -lnupa | less 

在其输出中查找sshd或 用户名。

答案2

  1. 为您的每个朋友添加特殊用户和组
  2. 使用SELinux使用宽容模式

答案3

每个用户都应该有自己的凭据,因此只需显示给定用户的所有进程即可。如果您有进程 ID,您可以通过运行ps -Af并查看“USER”列来知道哪个用户启动了它(许多其他选项组合将列出此信息,请检查ps系统上的手册页)。给定一个用户bobps -u bob将列出该用户的所有进程。如果您想查看系统上正在运行哪些进程,顶部是一个方便的交互式流程浏览器。

命令who列出活动会话。对于 SSH 会话,它列出原始 IP 地址。您可以在系统日志中找到更多信息(位置取决于您的发行版,例如/var/log/auth.log带有 SysVinit 的 Debian)。命令lastlastcomm(包的一部分acct,通常默认情况下不安装)提供有关过去会话的一些信息。

相关内容