如何查看用户在 ssh 会话中正在做什么

如何查看用户在 ssh 会话中正在做什么

我以 root 身份登录到服务器并执行了操作w,这让我看到用户正在编辑文件。

someuser  pts/5    10.117.0.53      14:03    3:25   1.20s  1.14s vi somefile.py

然后我断开连接,稍后再次以 root 身份重新连接。我w又做了一次,但这一次显示出不同的东西。

someuser  pts/5    10.117.0.53      14:03    5:20   0.20s  0.02s sshd: someuser [priv]

我可以从其他字段看出这是同一个用户,但这次他们正在做的事情是隐藏的。

为什么它变得隐藏了?我怎样才能看到他们在做什么?

答案1

如果用户正在使用bash,您可以添加到他的/etc/bash.bashrc

readonly PROMPT_COMMAND='history -a >(logger -t "commandlog $USER[$PWD] $SSH_CONNECTION")'

这会将所有用户命令记录到系统日志中。

我将配置syslog将日志转发到锁定的中央系统日志服务器,因此,如果发生黑客攻击或流氓系统管理员,他们将无法篡改证据。

答案2

如果系统上启用了auditd,您可以查看审核日志以了解用户的命令活动。这是一个很好的资源,系统管理员在尝试对可能由其他用户对系统的操作引起的问题进行取证故障排除时经常使用。

答案3

您可以尝试一些简单的操作,例如查看用户历史文件。这假设用户的 shell 是bash.

cat /home/someuser/.bash_history

相关内容