我有一个封闭的源程序,通过SSH调用服务器,并执行一组命令。
你能告诉我如何logging所有的命令?
我的服务器在Ubuntu下。
史努比可以用来logging系统上运行的所有命令。 日志将被发送到系统日志。
不知道到底是怎么回事,我没有答案。 但是,有一些可能性:
~/.ssh/authorized_keys中的条目添加一个command= ,它调用一个logging它所运行的命令的脚本,然后执行该命令。 透明,简单。 command=在~/.ssh/authorized_keys中运行一个你自己select的shell,可以是类似sudoshell的东西或者其他logging所有命令的东西(对于超级奖金,你甚至可以使用script来完全重放)。 command=欺骗,你将不得不全力以赴,使用类似snoopy的东西logging发生的所有事情 – 但是除非这个程序是唯一使用SSH的程序,否则你可能会结束与很多日志。 如果closures源程序允许您编辑远程SSH参数,或者您可以将这些命令放入shell脚本中,则可以在远程服务器上的“脚本”命令中包装执行,如下所示:
ssh 192.168.15.200 'script ps.log -c "ps -ef"'
在这种情况下, ps -ef的输出保存到文件ps.log中