公司想做个监控用户命令的日志,记录谁通过哪个 ssh key 登录了,运行了哪些命令。

登录会话里有 SSH_CONNECTION ,SSH_CLIENT 但是它们只记录 ip 和端口号,不够直观。

本来想的是用修改 authorized_keys 的方式:environment="SSH_USER=user1" ssh-ed25519 XXXX user1 。但是领导又觉得如果有人自己再加一条不带设置环境变量的 key 就能绕过监控。

有没有什么办法不修改 authorized_keys 的同时又能记录是哪个用户运行的命令。

举报· 312 次点击
登录 注册 站外分享
2 条回复  
julyclyde 小成 2025-5-23 15:31:54
首先,并没有这个功能 其次,多个人共用账户这种做法是错误的。正确的做法是各用各的身份验证,然后用 sudo 来控制权限
jworg 小成 2025-5-23 15:35:28
这个有个东西叫 pam ,你去修改 pam 的行为就可以了,应该是在 pam_ssh 里面,大概做法是读一下那个文件,找匹配的设置环境变量。具体怎么设置环境变量可以参照 pam_env 这个模块的代码。 ps. 好久没看到这么原始的 linux 上面的问题
返回顶部