logging通过ssh执行的命令

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

说,

ssh [email protected] COMMAND 

我想在server.com上login“COMMAND”

我做了广泛的search,但找不到任何东西。

还有一个类似的问题,但我不认为那里有一个解决scheme。

如何logging“通过SSH远程执行”

我可以得到一个实时的看法

 pstree -p | grep ssh 

我尝试过使用史努比,审计和sudosh,但不能通过SSHlogging这些命令。

有一个http://freecode.com/projects/shwatchr 。 但我无法下载脚本来testing。

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

谢谢………

我做了一个testing在我的服务器suse实验室使用这个选项,它的工作,但也许有更好的办法。

 ForceCommand logger -p user.notice "$SSH_ORIGINAL_COMMAND" 

不要着眼于SSH,退一步考虑使用auditd。 我假设你真正想要的是跟踪用户,而不是跟踪SSH做什么,而不是跟其他types的login。

man auditctl应该给你一个出发点。

我find了一种方法来做到这一点。 有一个由John M. Simpsonhttps://www.jms1.net/ )编写的perl脚本。

你所要做的就是添加

 command="#{path to log-session}" 

在〜/ .ssh / authorized_keys中的每个键之前

它只适用于你有一个无密码的SSH,但这在一定程度上解决了我的目的。

http://www.jms1.net/log-session