连接到远程主机时访问本地主机名

连接到远程主机时访问本地主机名

我从一台机器连接A到另一台机器B。在机器中B,我想A在 bash 的命令提示符中打印 的主机名。

我尝试使用who -m并执行此cut操作,但不同的 unix 之间的输出有所不同。

我找不到任何直接的方法来获取该主机名。

我看到两种可能性:

  1. 使用连接时以某种方式传递它ssh(我认为我永远不会使用其他东西进行远程连接)
  2. Processingwho的输出有多种方式,希望没有太多版本

可能性 (1) 是首选,因为我可以发送我分配给主机的主机名而不是我的运营商的主机名,但我找不到任何方法将其存档man ssh_config

答案1

访问客户端的 IP 地址非常简单。在我的 .profile 中,有以下代码片段:

PS1="\T [\h:\w]\n(from ${SSH_CLIENT%% *}) $ "

它会产生如下两行提示:

08:25:14 [fluorine:~]
(from 72.69.85.67) $ 

如果获取客户端主机名对您来说确实很重要,那么您可以使用该 IP 地址并对提取的 IP 地址执行反向 DNS 查找(假设服务器上安装了 dig 或类似程序)。

或者,正如您所建议的,您可以将环境变量发送到服务器(假设您已将 ssh 服务器配置为这样做)。您可以参考这个答案寻求帮助。

相关内容