服务器1和服务器2 ..因为W /相同企业.. SSH连接显示私人IP ..如何执行公用IP使用期间使用SSH?

server1有一个私人和公共IP。 server2有一个私人和公共IP。

一般..如果server1 ssh到server2 .. server2将通过它的公共ip识别server1。

但是因为两台服务器都是一样的公司..我想他们已经configuration它使用“私人IP”时,互相之间的ssh。

我从服务器2连接到server1,然后检查,看看我的IP(服务器2),我注意到它不是server2的公共IP,而是私人IP的server2。

我想禁用此function..我想服务器只能通过其公共的IP进行通信..

如何缓解这个问题?

连接到其他服务器时应指定公共IP地址。

如果你的服务器是这样configuration的:

 Server1: 192.168.0.1 (private), 12.34.56.1 (public) Server2: 192.168.0.2 (private), 12.34.56.2 (public) 

您应该使用从server1连接到server2

 ssh 12.34.56.2 

这将确保使用公共networking进行连接。

如果要通过名称( ssh server2 )引用服务器,并且希望名称自动映射到服务器的公用IP地址,则应在两台服务器的hosts文件中添加条目,告诉它们的名称将被映射到他们的公共IP:

  12.34.56.1 Server1 12.34.56.2 Server2 

如果你真的想确保你只通过公共接口进行通信,那么ssh服务器只能监听公共接口上的连接。 假设你正在使用openssh或者某个变种,打开你的/ etc / ssh / sshd_config(这是它的通用path)并添加:

 ListenAddress <your.public.ip.address> 

如果你有这样的线:

 ListenAddress :: ListenAddress 0.0.0.0 

评论他们(你可能已经注意到他们,因为我相信所有的接口是默认的)

然后按照Massimo的build议使用正确的IP地址和/或主机条目。