假设我们有一个名为约翰在 CentOS 服务器(192.168.1.1)上,另一方面,我们有一个拥有此帐户的用户,并且不时从不同位置(笔记本电脑)使用他的帐户进行 SSH。
[jsmith@mac ~]# ssh[电子邮件保护]
[johnsmith@ubuntu ~]# ssh[电子邮件保护]
现在问题是:
在服务器端,有没有办法找出启动 SSH 客户端的实际本地用户 ID,以便启动 SSH 连接,这意味着杰史密斯在用户使用 Mac 电脑时约翰·史密斯在用户使用 Ubuntu 机器时。
注意事项和考虑事项:
- 我有服务器端的 root 访问权限。如果需要,我可以安装和配置任何服务。
- 我无法访问客户端的机器,也不能要求他使用特定的 SSH 客户端或对他的机器进行任何更改。
- 这是我能找到的最近的帖子。使用 ident (xinetd),但答案不清楚。
谢谢你,
答案1
不,从服务器的角度来看这并不可靠。就服务器而言,唯一可以识别用户的信息是他们的登录信息。
用户可能会选择发送有关其远程用户帐户的信息。例如,如果他们使用公钥登录,则密钥中的注释字段可能会识别他们。但并不可靠 - 该字段的内容没有限制。我猜他们可能还会发送他们的远程 USER、HOME 或其他可以识别其远程帐户的环境变量,但这不是服务器可以强制执行的。