![Bash 能否告诉我使用哪个 SSH 公钥进行身份验证?](https://linux22.com/image/618269/Bash%20%E8%83%BD%E5%90%A6%E5%91%8A%E8%AF%89%E6%88%91%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%20SSH%20%E5%85%AC%E9%92%A5%E8%BF%9B%E8%A1%8C%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%EF%BC%9F.png)
假设我想跟踪我的root
用户。每个用户都有一个唯一的私钥,而他们的公钥已存储在 中/root/.ssh/authorized_keys
。
假设每个用户都使用其唯一密钥登录,我如何从 BASH 会话中判断哪个密钥用于身份验证?我尝试在登录时查看环境变量,但看不到任何将我的会话与我的公钥相关联的内容。
答案1
~/.ssh/authorized_keys
您可以将用户名添加到服务器上的公钥并将其导出为环境值:
environment="REALUSER=realusername" ssh-dsa AAA...
这将设置环境变量 REALUSER,然后可以在 bash 中使用。这仅PermitUserEnvironment
在设置为 true时才有效sshd_config