SSH连接技术疑问:局域网多主机同username及同public IP场景下的问题咨询
SSH连接技术疑问:局域网多主机同username及同public IP场景下的问题咨询
嘿,这个问题问到点子上了,我来给你拆解清楚:
首先得纠正一个小误区——你直接敲ssh admin@123.1.1.2(这个是你家的公网IP)的时候,默认是连到这个IP的22端口,而这个公网IP其实是你家路由器的对外IP,不是内网设备的。这时候如果你的路由器没做「端口转发」配置,这个请求根本不会转到内网的任何设备上,大概率会直接失败,或者如果你的路由器本身开启了SSH服务,那你会连到路由器的admin用户。
那如果想通过公网IP连内网的某台设备,必须在路由器上做端口转发:
- 把路由器的22端口,映射到内网设备A的局域网IP(比如192.168.1.100)的22端口,此时敲
ssh admin@123.1.1.2会连到设备A的admin用户; - 给内网设备B分配另一个转发端口,比如把路由器的2222端口映射到设备B的22端口,此时需要敲
ssh admin@123.1.1.2 -p 2222才能连到B的admin用户。
至于你问的「能不能所有内网设备都监听SSH」——当然可以!因为内网里每个设备都有独立的局域网IP,SSH监听的22端口是和各自的IP绑定的,它们之间不会冲突。你在内网里直接用局域网IP连接的时候,比如ssh admin@192.168.1.100和ssh admin@192.168.1.101,完全是连到两台不同的设备,和用户名没关系,用户名只是你要登录的目标设备上的账号而已。
总结一下:公网IP的SSH请求是靠路由器的端口转发规则来定向到内网特定设备的,和用户名无关;内网里多设备同时监听SSH完全没问题,靠各自的局域网IP区分。
备注:内容来源于stack exchange,提问作者CalebK
相关产品推荐
相关产品推荐

