确定当前通过 SSH 连接的主机的名称

Dre*_*kes 5 ssh bash

通过 SSH 登录时,我想知道在执行 期间.bashrc,正在连接的主机的名称。

Ubuntu Server 显示提示:

上次登录时间:2014 年 2 月 14 日星期五 11:34:55 来自 somehost.local

...所以这个信息在某处可用。

我怎样才能访问它?

ani*_*uia 6

如果您键入:

who
Run Code Online (Sandbox Code Playgroud)

您将看到有关登录用户的信息。除其他事项外,您还可以看到他们登录的主机。例如,现在我的笔记本电脑返回这个:

who -u
darent   tty6         2014-02-14 01:15 11:02       20339
darent   tty7         2014-02-14 23:15  antic      31827 (:0)
darent   pts/7        2014-02-14 23:14 00:46       30246 (helena.local)
darent   pts/1        2014-02-14 23:16   .          1466 (:0)
darent   pts/9        2014-02-14 23:19 00:25         302 (:0)
Run Code Online (Sandbox Code Playgroud)

helena.local 是我通过 ssh 连接的计算机。


Flo*_*sch 5

ssh将环境变量设置$SSH_CONNECTION为包含客户端 IP 地址、客户端端口号、服务器 IP 地址和服务器端口号(以空格分隔)。

您可以使用

echo ${SSH_CONNECTION%% *}
Run Code Online (Sandbox Code Playgroud)

获取客户端的IP地址。要获取 DNS 名称,请使用类似host或 的内容dig -x

host ${SSH_CONNECTION%% *}
Run Code Online (Sandbox Code Playgroud)