Linux内网服务器实现外网登陆

方法原理:利用ssh服务进行端口转发,把内外的服务器端口映射到外网服务器的端口上,通过连接外网服务器指定端口来访问内网服务器。
应用场景:
1.假如你做了一个平台应用,但不想部署到外网平台,但是需要外网设备接入,就可以把通讯端口转到外网服务器的指定端口。外部设备通过访问外网服务器的端口与内网服务器通讯。
2.假如你的现场的设备是支持ssh服务,你可以通过端口转发,利用ssh可以直接登陆到现场设备获取调试信息,或者转发的web网页查看。
3.假如你只买了一台云服务器,想体验多台服务器,也可以用端口转发ssh的端口到云平台服务器上,不同内网主机可以映射到平台不同的端口上。

例子:(以内网服务器ssh端口转发到平台里面,实现通过ssh登陆内网服务器为例)
1.需要准备一个廉价的云平台,我这里用我自己买的廉价云平台做演示
Linux内网服务器实现外网登陆_第1张图片

2.准备内网服务器,我这里用VMware 安装了本地Ubuntu作为演示内网机器。
Linux内网服务器实现外网登陆_第2张图片

3.在内网服务器敲ssh转发命令
ssh -fCNR 代理端口:localhost:22 平台服务器用户名@平台服务器ip -p平台服务器端口
例子:

ssh -fCNR 10000:localhost:22 [email protected] -p8822

执行完内网服务器会提示登陆用户名密码,这个是正常的,注意这里用的用户名密码是平台服务器ssh登陆的用户名密码。
校验通过就可以了。

4.在平台服务器敲ssh转发命令
ssh -fCNL *:正式访问端口:localhost:代理端口 平台服务器用户名@平台服务器ip -p平台服务器端口
例子:

ssh -fCNL  *:10001:localhost:10000 [email protected] -p8822

这里一样要用用户名密码登陆,平台服务器的ssh登陆信息。
在这里插入图片描述
Linux内网服务器实现外网登陆_第3张图片

5.尝试用转发后的端口来访问,用户名密码使用内网的的服务器的ssh登陆信息:
Linux内网服务器实现外网登陆_第4张图片

Linux内网服务器实现外网登陆_第5张图片
到这里登陆成功。现在可以直接在任意有网的地方来访问这个内网服务器了。其他应用方法是类似,转发出自己要的内网端口,比如想看内网服务器的网页就转发出80端口。
注意转发的时候不要使用已经在用的端口,端口冲突会导致转发失败的

你可能感兴趣的:(安装与配置,linux,运维,服务器,ubuntu,ssh)