我们有几名员工使用同一个用户 root 登录虚拟机(OS 6/7)(由于各种原因需要这样做)。
有没有办法将用户的主机名/用户名添加到登录会话中,以便查看谁在何时做了什么?
答案1
首先,我同意 Slipeer 的观点,个人账户确实是首选解决方案。然而,我们确实生活在一个不完美的世界,有时人们无法立即实施正确的解决方案。
识别使用同一帐户的不同人的最可靠方法是查看用于登录的 ssh 密钥。如果您使用的是较新的 OpenSSH,则默认的 INFO LogLevel 将提供该信息。
sshd[2425]: Accepted publickey for vagrant from 10.0.2.2 port 54576 ssh2: RSA SHA256:5cH1LgeZ+m/OuxpPeFc9bIql3pMaQl/mtym0mGmecNc
对于较旧的 OpenSSH,该信息仅可通过 VERBOSE LogLevel 获得。
sshd[2023]: Found matching RSA key: 3b:7f:2d:8f:3a:82:ae:69:02:4f:00:2c:71:5e:e0:6a
sshd[2023]: Accepted publickey for vagrant from 10.0.2.2 port 36164 ssh2
是的,对于个人账户而言,记录用于登录的 ssh 密钥也是一件好事。
答案2
最好的选择:
- 设置
PermitRootLogin no
在/etc/ssh/sshd_config
(在现代系统上,这是默认设置值) - 为每个雇主创建个人账户
- 配置
sudo
以允许雇主以提升的权限运行所需的命令。
更新。如果您需要管理企业中多台计算机上的用户帐户 - 那么您应该考虑身份管理解决方案。