获取进行SSH登录的计算机的名称(地址)


3

通过SSH登录到linux机器后,我希望能够检索进行连接的计算机的名称。理想情况下,我正在寻找一些命令 hostname 要么 uname 但这将检索客户端的名称而不是主机。

此信息必须可以在某处访问,因为当我登录时,我收到一条消息,其中包含上次登录时的名称:

Last login: Thu Mar 11 18:42:01 2010 from my.address.com


想要这样做的原因是能够采取不同的行动 .login 文件取决于我当前连接的计算机。

Answers:


3

简短回答:

who -m

对于奖励分数(是的,这是肮脏的,有人请留下评论如何做得更好):

who -m | awk '{print $5;}' | sed s/\(// | sed s/\)//


那是一个快速的答案,谢谢!
amicitas

@amicitas:再次检查,我做得更好:D Upvote,如果它帮助你!
Alex

谢谢,我准备在接下来的30分钟内尝试记住如何再次使用awk和sed。
amicitas

1
这甚至更干净:-):who -m | awk -F'[()]''{print $ 2}'
janmoesen

1
另请注意,有一个更可靠的变量:SSH_CLIENT具有客户端IP地址(以及服务器和客户端端口)。 SSH_CONNECTION添加服务器IP地址。
janmoesen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.