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

del*_*ial 6 ssh

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

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

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

web*_*toe 9

您可以查找一个环境变量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.
Run Code Online (Sandbox Code Playgroud)

  • 这对于安全问责非常不利,因为用户可以简单地输入`SSH_CONNECTION=sneaky_sneaky /path/to/yourscript evil-params` 而你不会知道发起者。 (4认同)
  • 是的,但安全方法不是我们所要求的。我还假设 ssh 连接的日志记录将在用户收到提示之前完成(即在 .bashrc 或其他一些启动脚本中)。如果您想要一种适当的安全问责方法,您就不会让他们都使用相同的用户帐户登录。 (3认同)
  • 好决定。赞成您的评论。 (2认同)