具有自己的历史记录的多个根访问权限

具有自己的历史记录的多个根访问权限

我想获取实际登录的用户的公钥指纹,以识别哪个用户以 root 身份登录,因此我可以为子文件夹中的每个用户创建一个 bashrc,例如“/root/[FINGERPRINT]/.bashrc”。我怎样才能做到这一点?我们不想使用 sudo!!!!

当我将 sshd 的 LogLevel 切换为 VERBOSE 时,我可以在 auth.log/sercure 中看到指纹,但我想这不会有帮助。

我们使用的是 CentOS 6/7/8

答案1

按要求回答问题(其他人已经评论过这是否可取)。

将 ~root/.ssh/authorized_keys 更改为在environment="RUSER=Chris"Chris 的密钥之前、environment="RUSER=Pete"Pete 的密钥之前等等。线条应该看起来像

environment="RUSER=Pete" ssh-rsa AAAAB[snipped] pete@somewhere

编辑 sshd 配置文件(通常是 /etc/ssh/sshd_config)以包含一行

PermitUserEnvironment yes

启用环境处理。获取sshd重新读取配置文件(我曾经ps -ef | grep sshd\ -D找到PID,然后用于kill -HUP PID让守护进程重新读取文件。

此时,当你通过 ssh 登录时,会有一个环境变量RUSER,可以用来判断使用哪个密钥登录。

由于现在可以设置环境变量,因此应对 shell 启动文件进行仔细审核,以确保环境变量中的意外值不会触发任何不良影响。

该信息位于SSHD(8)手册页中的 AUTHORIZED_KEYS 文件格式部分。

相关内容