SSH反向代理配置教程(实现内网穿透)

https://www.hangge.com/blog/cache/detail_2893.html

1,功能说明

(1)假设我有一台内网(或者说处于内部局域网)的服务器 A,其内网 IP 为 192.168.1.121,但由于没有公网 IP,因此我们无法直接从外网连接这个服务器。

(2)不过服务器 A 能访问外网,假设我们有台外网服务器 B,其公网 IP 为 60.95.190.137。那么我们就可以在服务器 A 上做到服务器 B 的反向代理,然后我们便能通过服务器 B 来连接服务器 A。

注意:即使服务器 A 不能访问外网,但只要服务器 A 能访问服务器 B,且外网也能访问服务器 B,那么同样可以实现从外网借由 B 访问服务器 A。

 

2,操作步骤

(1)首先修改服务器 B 的 sshd_config 配置文件:

1

vi /etc/ssh/sshd_config


(2)打开 GatewayPort(删除前面的 # 号,将其设置为 yes)

原文:SSH反向代理配置教程(实现内网穿透)


(3)修改保存后,执行如下命令将 sshd 服务重启下:

1

systemctl restart sshd


(4)接着登录服务器 A 执行如下命令,实现连接到服务器 B 开启反向端口代理,其中 22 为 A 的本地端口,2222 为 B 的监听端口(执行后会要求输入服务器 B 的密码)。(1)autossh 为自动 ssh 重连工具,autossh 的参数与 ssh 的参数是一致的(唯一不同是多了个 -M 参数,这个参数指定一个端口)。它们区别在于,当隧道断开的时候,autossh 会自动重新连接而 ssh 不会。CentOS7 上没有默认安装 autossh 的,我们可以使用如下命令安装:

  • yum install autossh

(2)当然我们可以可以直接使用 ssh ,只要把 autossh -M 2222 替换为 ssh 即可:

  • ssh -CqTfnN -R :2222:localhost:22 root@60.95.190.137

1

autossh -M 2222 -CqTfnN -R :2222:localhost:22 root@60.95.190.137


(5)接着我们回到服务器 B 执行如下命令可以看到这个监听:

1

netstat -anp | grep 2222

原文:SSH反向代理配置教程(实现内网穿透)

 

3,连接测试

    经过上面配置以后,我们如果在外网想要访问服务器 A,只要连接服务器 B 的 2222 端口,然后输入服务器 A 的主机密码可以登录:

1

ssh -p 2222 root@60.95.190.137


原文出自:www.hangge.com  转载请保留原文链接:https://www.hangge.com/blog/cache/detail_2893.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值