我有一个封闭的源程序,它通过SSH调用服务器并执行一组命令。
你能告诉我怎么记录所有命令吗?
我的服务器在Ubuntu下面。
发布于 2011-07-04 15:38:23
史努比可用于记录系统上运行的所有命令。日志将被发送到syslog。
发布于 2011-07-04 15:42:03
如果不知道它是怎么做的,我就没有一个答案。然而,有几种可能性:
command=
添加到~/.ssh/authorized_keys
中的条目,该条目调用一个脚本,该脚本记录它运行的命令,然后只执行该命令。透明,简单。command=
in ~/.ssh/authorized_keys
来运行您选择的shell,它可能类似于sudoshell,也可以是记录所有命令的其他东西(对于超级奖励欺骗,您甚至可以使用script
来实现完全的可重放性)。command=
欺骗,您将不得不使用像史努比这样的工具来记录所有发生的事情--但是除非这个程序是使用SSH的唯一工具,否则您可能会得到很多日志。发布于 2011-07-04 15:51:56
如果关闭源程序允许您编辑远程SSH参数,或者您可以将命令放入shell脚本中,则可以将执行围绕在远程服务器上的" script“命令进行包装,如下所示:
ssh 192.168.15.200 'script ps.log -c "ps -ef"'
在本例中,ps -ef
的输出被保存到文件ps.log中。
https://serverfault.com/questions/286971
复制