记录通过 ssh 执行的命令

Pra*_*nth 8 ssh shell bash logging

我想记录所有通过 SSH 执行的命令。

说,

ssh something@server.com COMMAND
Run Code Online (Sandbox Code Playgroud)

我想在 server.com 上登录“COMMAND”

我确实进行了广泛的搜索,但找不到任何东西。

还有一个类似的问题,但我认为那里没有解决方案。

如何记录“通过 SSH 远程执行”

我可以得到实时视图

pstree -p | grep ssh
Run Code Online (Sandbox Code Playgroud)

我确实尝试过 Snoopy、auditd 和 sudosh,但无法通过 ssh 记录这些命令。

有一个http://freecode.com/projects/shwatchr。但我无法下载脚本进行测试。

有没有其他方法可以做到这一点?

谢谢.........

c4f*_*t0r 5

我在我的服务器 suse 实验室中使用此选项进行了测试,它有效,但也许有更好的方法。

ForceCommand logger -p user.notice "$SSH_ORIGINAL_COMMAND"
Run Code Online (Sandbox Code Playgroud)


Jen*_*y D 5

不要专注于 SSH,而是退一步考虑使用auditd。我假设您真正想要的是跟踪用户,而不是跟踪 SSH 完成的操作(与其他类型的登录不同)。

man auditctl应该给你一个起点。

  • 很好的提示,但对我来说太抽象了。如何使用auditctl记录ssh命令? (2认同)