Linux 如何记录ssh客户端连接/命令?

Linux 如何记录ssh客户端连接/命令?,linux,logging,ssh,Linux,Logging,Ssh,我想知道如何记录用户在服务器上使用的SSH命令行。例如,如果我的服务器上的用户Alex正在执行以下命令集: $ cd /tmp $ touch myfile $ ssh staff@10.0.0.1 $ ssh staff@10.0.0.2 $ vim anotherfile $ ssh alex@192.168.0.12 我想将服务器上使用的ssh命令记录在如下文件中: [2014-07-25 10:10:10] Alex : ssh staff@10.0.0.1 [2014-07-25 1

我想知道如何记录用户在服务器上使用的SSH命令行。例如,如果我的服务器上的用户Alex正在执行以下命令集:

$ cd /tmp
$ touch myfile
$ ssh staff@10.0.0.1
$ ssh staff@10.0.0.2
$ vim anotherfile
$ ssh alex@192.168.0.12
我想将服务器上使用的ssh命令记录在如下文件中:

[2014-07-25 10:10:10] Alex : ssh staff@10.0.0.1
[2014-07-25 10:18:20] Alex : ssh staff@10.0.0.2
[2014-07-25 11:15:10] Alex : ssh alex@192.168.0.12
我不在乎他在ssh会话期间做了什么,我只想知道他何时何地连接到另一台服务器

用户没有使用bash,我希望避免操纵.bash\u历史,因为用户可以修改它

有线索吗

谢谢:

也许你可以用ssh替换你自己的脚本并记录所有内容

将/usr/bin/ssh重命名为/usr/bin/real-ssh 像这样创建新的/usr/bin/ssh没有经过测试,只是给你一个想法
这确实是一种方法,但是如果用户知道这一点,他可以使用真正的ssh来代替…:是的,他可以,不幸的是,我不知道其他的方法。也许这个问题更适合在。大多数系统管理员都在那里帮助您:。啊哈,是的!我也会在那里发布我的问题,谢谢^^我打算建议将/usr/bin/real ssh的权限更改为550,并在ssh脚本中使用sudo来运行它,但实际上您无法阻止用户将ssh二进制文件放在主目录中并使用它。如果您希望它安全,您必须登录服务器,您可以使用rsyslog集中日志。
#!/usr/bin/sh

echo [`date`] `whoami` : ssh $*  >> YOUR_LOG_FILE

/usr/bin/real-ssh $*