我发现远程 ssh 进入设备时有些奇怪,我家网络上的多个设备共享同一个公共 IP。理论上,多个主机可以拥有相同的用户名,因此当我想象我的网络上的多台计算机可以拥有一个名为 的用户时。ssh [email protected]
admin
那么当我通过 ssh 进入管理员时,SSH 如何确定要连接到本地网络上的哪个主机?它们都可以监听吗?
答案1
用户名与之无关,每台计算机都有独立的用户名/密码数据库。
任何 IP 地址为 123.1.1.2 的设备都必须将 ssh 端口转发到指定的内部 IP 地址。一个端口只能映射到 1 个内部 IP。
因此端口 22 可以转发到 192.168.0.1
如果您想连接第二台计算机,则必须设置不同的端口。
例如,端口 23 可以转发至 192.168.0.2。
但是,端口 25 通常用于电子邮件服务器,因此如果您正在运行电子邮件服务器,则无法使用此端口。
然而,以这种方式将您的计算机暴露在互联网上通常是一种不好的安全做法。
一般情况下,首选方式是使用VPN。然后通过VPN连接到您的内部网络。
答案2
只有一个设备具有公共 IP。公共 IP 是路由器(或您使用的任何边缘/网关设备)面向公众的网络接口的 IP,而不是每个内部设备的 IP。您必须在该边缘设备上设置转发规则,以便将传入流量发送到写入内部主机。这发生在网络/传输级别,对 ssh 透明。