博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssh反向代理设置
阅读量:5799 次
发布时间:2019-06-18

本文共 1238 字,大约阅读时间需要 4 分钟。

一、功能描述:

通过ssh反向代理服务器使得没有公网ip的Linux服务器可以被外网访问。
1、实验主机ip:
(1)终端1(192.168.1.101):在局域网内,可以访问外网,无公网ip
(2)终端2(192.168.1.102):在局域网内,可以访问外网,无公网ip
(3)反向代理服务器(58.23.223.90):具有公网ip,可以从互联网访问
2、实验步骤:
(1)通过ssh登陆终端1并且执行如下命令:

ssh -fCNR 12000:localhost:22 -p 22 -i ./test.key test@58.23.223.90

说明:反向代理服务器是密钥登陆方式,test.key是私钥。
执行完上述命令后,在反向代理服务器上执行:netstat -anlp |grep 12000命令会有如下结果:
netstat -anlp |grep 12000
tcp 0 0 127.0.0.1:12000 0.0.0.0: LISTEN 6907/sshd
tcp 0 0 ::1:12000 :::
LISTEN 6907/sshd
(2)通过ssh登陆终端2并且执行如下命令:

ssh -fCNR 12001:localhost:22 -p 22 -i ./test.key test@58.23.223.90

说明:反向代理服务器是密钥登陆方式,test.key是私钥。
执行完上述命令后,在反向代理服务器上执行:netstat -anlp |grep 12001命令会有如下结果:
netstat -anlp |grep 12001
tcp 0 0 127.0.0.1:12001 0.0.0.0: LISTEN 6907/sshd
tcp 0 0 ::1:12001 :::
LISTEN 6907/sshd

(3)通过ssh登陆反向代理服务器:

在反向代理服务器上这时可输入如下命令访问终端1和终端2:
ssh -p 12000 test@localhost -i 终端1.key
--说明:test是终端1的用户,终端1.key是终端1上test用户的私钥
ssh -p 12001 test@localhost -i 终端2.key
--说明:test是终端1的用户,终端1.key是终端2上test用户的私钥

结果:这样可以在反向代理服务器上直接访问终端1和终端2

(4)在反向代理服务器上建立本地端口转发,以供网内其他主机可以访问终端1和终端2,执行如下命令:

ssh -fCNL :13000:localhost:12000 test@localhost -p 22 -i ./服务器.key

说明:test用户是反向代理服务器的用户,服务器.key是test用户的私钥

结果:可以通过访问反向代理服务器的13000端口访问到终端1,终端2同理。

转载于:https://blog.51cto.com/bristol/2064298

你可能感兴趣的文章
svn命令在linux下的使用
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
SpringCloud使用Prometheus监控(基于Eureka)
查看>>
10g手动创建数据库
查看>>
Spring MVC EL表达式不能显示
查看>>
【致青春】我们挥霍时间的年代
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
SAS和SATA硬盘的区别
查看>>
现代程序设计 学生情况调查
查看>>
U盘安装linux后无法引导
查看>>
C# 矩阵作业
查看>>
俺的新书《Sencha Touch实战》终于出版了
查看>>
关于数据库查询时报“query block has incorrect number of result columns”
查看>>
li下的ul----多级列表
查看>>
UVa 11292 勇者斗恶龙(The Dragon of Loowater)
查看>>
区域生长算法
查看>>
switch语句小练习
查看>>
组合逻辑电路
查看>>
POP-一个点击带有放大还原的动画效果
查看>>