ssh 配置中的 IP 地址和服务器的主机名不同

ssh 配置中的 IP 地址和服务器的主机名不同

抱歉,我对网络还很陌生,但我的问题如下。我有一个 SSH 配置用于连接到如下所示的服务器:

Host dev
    User me
    Hostname IP_ADDRESS

当我连接到服务器并运行命令时:

hostname -I

我得到的 IP 地址与 IP_ADDRESS 不同。这怎么可能?为什么?提前谢谢您。

答案1

这可能有很多原因,但我认为就你的情况而言。那是因为你是通过公司的公共 IP 访问的

假设你在家。以下是你的网络连接模式

[您的计算机]--->--[您的路由器]--->--[互联网]--->--[您的公司防火墙]--->--[您的公司服务器]

你的计算机在你的私有网络上可能有一个 IP 链接 192.168.0.X

您的路由器有 2 个 IP - 192.168.0.Y(用于与您的家庭网络通信) - xxx.xxx.xxx.xxx(固定或动态的公共 IP 地址,用于与世界其他地方进行通信)

您的公司防火墙/路由器也有近 2 个 IP(可能更多) - yyy.yyy.yyy.yyy(一个公共 IP 地址,可能固定用于与世界其他地方进行通信) - 10.0.0.1(或类似的,用于在您公司的本地网络上进行通信)

并且服务器几乎在同一范围内有 1 个 IP - 10.0.0.2(我们假设是那样)

管理员可能做的是 NAT。这是一条规则,告诉防火墙,防火墙公共 IP 上定义端口上的每个连接都必须转发到服务器。

因此,让我们假设防火墙的公共 IP 是 110.12.23.34,并且端口 8022 转发到其端口 22 上的服务器。您的服务器的 IP 是 10.0.0.2

如果你连接到 110.12.23.34:8022,你实际上与服务器进行通信,就像你在本地连接到 10.0.0.2:22 一样

因此,一旦在您的服务器上,当您创建 hostname -I 时,它会返回其自身地址。

相关内容