为什么我不能通过 SSH 远程运行 ausearch(auditd 的一部分)?

为什么我不能通过 SSH 远程运行 ausearch(auditd 的一部分)?

知道为什么下面的方法不起作用吗?它挂起,没有输出。

desktop$ ssh myserver "sudo ausearch -k my_key"

但是下面的方法可以工作。它从 auditd 输出此密钥的审计历史记录。

desktop$ ssh myserver
myserver$ sudo ausearch -k my_key

以下方法也有效。(意思是,sudo 当前未设置为需要密码。)

desktop$ ssh myserver "sudo ls"

答案1

由于您以普通用户身份登录,因此 $PATH 中可能没有 ausearch /sbin,这意味着可能找不到 ausearch。要尝试此操作,请在命令行中手动指定 /sbin/ausearch。对于某些命令,您还需要 ssh 来获取 tty,您可以使用标志来实现这一点-t,因此要尝试此操作,请键入:

ssh -t myserver "sudo /sbin/ausearch -k my_key"

要完全模拟登录会话,您还可以使用标志调用 sudo -i,然后您可以省略 /sbin(因为它在您的登录会话中工作),如下所示:

ssh -t myserver "sudo -i ausearch -k my_key"

答案2

不要使用 SSH 的 -t 选项,尝试将其添加--input-logs到命令中(参见手册页)

参考:https://bugzilla.redhat.com/show_bug.cgi?id=1032706#c13

相关内容