获取与远程服务器建立 SSH 会话的 SSH 客户端的实际用户名

获取与远程服务器建立 SSH 会话的 SSH 客户端的实际用户名

假设我们有一个名为约翰在 CentOS 服务器(192.168.1.1)上,另一方面,我们有一个拥有此帐户的用户,并且不时从不同位置(笔记本电脑)使用他的帐户进行 SSH。

[jsmith@mac ~]# ssh[电子邮件保护]

[johnsmith@ubuntu ~]# ssh[电子邮件保护]

现在问题是:

在服务器端,有没有办法找出启动 SSH 客户端的实际本地用户 ID,以便启动 SSH 连接,这意味着杰史密斯在用户使用 Mac 电脑时约翰·史密斯在用户使用 Ubuntu 机器时。

注意事项和考虑事项:

  • 我有服务器端的 root 访问权限。如果需要,我可以安装和配置任何服务。
  • 我无法访问客户端的机器,也不能要求他使用特定的 SSH 客户端或对他的机器进行任何更改。
  • 这是我能找到的最近的帖子。使用 ident (xinetd),但答案不清楚。

获取发起 SSH 连接的用户的用户名?

谢谢你,

答案1

不,从服务器的角度来看这并不可靠。就服务器而言,唯一可以识别用户的信息是他们的登录信息。

用户可能会选择发送有关其远程用户帐户的信息。例如,如果他们使用公钥登录,则密钥中的注释字段可能会识别他们。但并不可靠 - 该字段的内容没有限制。我猜他们可能还会发送他们的远程 USER、HOME 或其他可以识别其远程帐户的环境变量,但这不是服务器可以强制执行的。

相关内容