![在 Solaris 中查找远程 ssh 会话的主机名或 IP](https://linux22.com/image/77839/%E5%9C%A8%20Solaris%20%E4%B8%AD%E6%9F%A5%E6%89%BE%E8%BF%9C%E7%A8%8B%20ssh%20%E4%BC%9A%E8%AF%9D%E7%9A%84%E4%B8%BB%E6%9C%BA%E5%90%8D%E6%88%96%20IP.png)
如果我使用 ssh 通过 putty 从 Windows 笔记本电脑登录 Solaris 服务器,在服务器上如何确定我的 Windows 笔记本电脑 IP 或主机名?
答案1
SSH 服务器(在本例中为您的 Solaris 服务器,但不限于 Solaris)通常会将一组变量插入到远程计算机上的环境中(前缀为SSH_
)。
将为您提供所需信息的变量(如果存在)是SSH_CLIENT
和/或SSH_CONNECTION
(请参阅这)。
SSH_客户端显示客户端系统的地址、客户端系统上的传出端口号和服务器上的传入端口号。SSH_CONNECTION显示客户端的地址、客户端的传出端口、服务器的地址以及服务器的传入端口。
给出的例子是:
SSH_CLIENT='192.168.223.17 36673 22'
SSH_CONNECTION='192.168.223.17 36673 192.168.223.229 22'
您可以通过运行命令列出所有 ssh 环境变量env | grep '^SSH_'
。
但是,请注意,如果您已设置 VPN 或正在使用 NAT 穿越路由器,则源 IP 地址可能不是您的实际本地 IP 地址(例如,在 NAT 的情况下,它将是您的路由器的地址)。
答案2
who am i
会告诉你你是谁,以及你从哪里连接
root@solaris10$ who am i
root pts/4 Oct 18 18:13 (192.168.1.4)
root@solaris10$
您可能无法获取 Windows 终端地址,这里 192.168.1.4 属于防火墙,但也可以是网关。
在某些情况下,根据您的网络配置,可以在 Solaris 服务器上找到您的 IP。如果您有 IP 地址,您可以使用以下方式嗅探活动:
snoop -r -d <device> <your_IP>
结果将是这样的:
root@solaris10 # snoop -r -d ce0 10.24.4.87
Using device ce0 (promiscuous mode)
10.24.4.87 -> 10.24.0.25 TCP D=22 S=54233 Syn Seq=3843238285 Len=0 Win=8192 Options=<mss 1380,nop,wscale 8,nop,nop,sackOK>
10.24.4.87 -> 10.24.0.25 TCP D=22 S=54233 Syn Seq=3843238285 Len=0 Win=8192 Options=<mss 1380,nop,wscale 8,nop,nop,sackOK>
10.24.4.87 -> 10.24.0.25 TCP D=22 S=54233 Syn Seq=3843238285 Len=0 Win=8192 Options=<mss 1380,nop,nop,sackOK>