我已经使用 ssh 进入了 Linux 主机
ssh username@ip
。
登录后,如何获取主机的IP地址?
host name -I
或之类的命令ifconfig
返回的 IP 地址与我连接的地址不同。
如何获取此信息?
如果我必须通过 ssh 进入任何系统,这将帮助我获取我必须输入的 IP。
我通过 ssh 连接的 IP 是 10.49.x.xxx。我通过 LAN 连接。服务器可能是通过 Internet 连接的,因为服务器是跨位置访问的。我认为连接是 NAT。
答案1
正如 @vidarlo 已经指出的那样,这不能 100% 可靠地完成 - 但是我想我可以回答你可能真正遇到的问题:
假设你通过 ssh 连接到 amazon aws 上的 ec2 实例,该实例未在ifconfig
或中显示其公共 IP ip addr show
,那么你可以使用类似命令curl https://ifconfig.me
来获取它用于与互联网通信的 IP 地址。此命令将联系网站https://ifconfig.me,它将返回它接收请求的 IP 地址。然而,正如 @vidarlo 所说,ec2 实例可能有多个公共 IP 路由到它,因此这不能 100% 回答您的问题。您可以使用不同的 IP 来 ssh 到它。
从我的感觉来看,这也许可以回答你的问题。
您的问题有一个很老套的答案;)您从来没有说过您只能在您登录的机器上获取这个 IP - 如果没有,您只需检查您工作站上的进程列表即可;)
user@workstation:~$ ps aux | grep ssh
但我的直觉告诉我这不是你想要的;)