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

ric*_*ler 3 ssh sudo auditd

知道为什么以下不起作用吗?它挂起没有输出。

desktop$ ssh myserver "sudo ausearch -k my_key"
Run Code Online (Sandbox Code Playgroud)

但是,以下工作。它从auditd 输出这个key 的审计历史。

desktop$ ssh myserver
myserver$ sudo ausearch -k my_key
Run Code Online (Sandbox Code Playgroud)

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

desktop$ ssh myserver "sudo ls"
Run Code Online (Sandbox Code Playgroud)

Mat*_*erg 5

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

ssh -t myserver "sudo /sbin/ausearch -k my_key"
Run Code Online (Sandbox Code Playgroud)

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

ssh -t myserver "sudo -i ausearch -k my_key"
Run Code Online (Sandbox Code Playgroud)