加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何登录ssh客户端连接/命令?

发布时间:2020-12-14 02:30:21 所属栏目:Linux 来源:网络整理
导读:我想知道如何记录用户在服务器上使用的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命令记录在一个文件中,
我想知道如何记录用户在服务器上使用的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_history,因为用户可以修改它.

这有什么线索吗?

谢谢 :)

编辑:更具体:

用户连接到服务器A,然后从服务器A连接到服务器B.我想通过ssh从服务器A跟踪他连接的服务器.

解决方法

你可以用我看到的三种不同的方式做到这一点 – 很有可能还有许多其他方法可以做到这一点!最好的方法是将审计工具附加到内核sysexec调用,这样用户就无法跟踪它.另外两种方法就是修改shell环境来记录它.

而不是我(抓住谷歌的代码/答案)向你展示如何做到这一点.我会给你链接到已经解释过这个细节的网站.我希望这正是你所需要的.

顺便说一句,最简单的方法是在主bashrc / profile中加入一些东西来影响所有用户.

无论如何,这里是bashrc解决方案的链接.

1)Bashrc解决方案:How to log commands executed by all the users in Linux?
2)Bashrc / trap解决方案:Bash: History to Syslog

另一种方式(内核级别)将调查工具审计或acct.有很多网站告诉你如何通过内核sysexec调用设置命令记录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读