获取连接到 ssh 会话的计算机的主机名

获取连接到 ssh 会话的计算机的主机名

作为我们某个应用程序的部署脚本的一部分,我正在尝试记录部署的日期、时间和其他相关信息。

按照我们的设置方式,开发人员使用通用的“应用程序”帐户来执行部署,因此记录用户并不是特别有帮助。

是否有可能获取连接到 SSH 会话的机器的主机名?

答案1

您可以查找一个名为 的环境变量SSH_CONNECTION,该变量在您使用 登录时设置ssh。如果您想要主机名,您可能需要使用 进行反向查找dig -x <ip address>

从手册页中:

 SSH_CONNECTION
          Identifies the client and server ends of the connection.  The variable contains four space-separated values: client ip-address, client port
          number, server ip-address and server port number.

答案2

虽然环境变量 SSH_CONNECTION 可能是最好的方法,但还有其他方法。

  • 在许多 Linux 发行版中,ssh 和其他登录通常记录在 /var/log/secure 中。
  • 为开发人员提供单独的登录名,并让他们使用 sudo 进行应用程序部署,或者让他们的用户对应用程序具有组写访问权限。

相关内容