Is there any utility which will monitor all commands on SSH SHELL fired by any user who logs in using putty or any other client? If this record is saved somewhere, That will be of great help.

link|improve this question

67% accept rate
2  
Depends on where you are logging in exactly. Please specify that -- which Linux, which Shell? Every user logging in to the remote machine probably will have their ~/.bash_history file created, which is a history of their previously issued commands (if they are using bash, that is). Is that enough or are you having any specific security requirements? – slhck Jul 16 '11 at 10:40
feedback

1 Answer

up vote 4 down vote accepted

Linux comes with powerful tools for auditing user actions.

SuSE has an excellent overview of how to use them that should work for any distribution that ships the necessary tools and kernel components. To keep track of which programs users are running, you'll want to track the exec() system call. You can also track which files are edited, and other system calls like changing permissions or opening sockets.

That works on a pretty low level on the system though. Another alternative is to log each user's entire SSH session. If both of those options are too heavy for you, slhck's suggestion will do fine, but that's easily circumvented. Neither of my suggestions are necessary infallible either.

link|improve this answer
Process accounting! – Stephanie Jul 17 '11 at 5:42
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.