Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SSH端口转发2, 转发https流量.

SSH端口转发2, 转发https流量.

原创
作者头像
大大刺猬
修改于 2020-07-06 09:41:09
修改于 2020-07-06 09:41:09
4.4K00
代码可运行
举报
文章被收录于专栏:大大刺猬大大刺猬
运行总次数:0
代码可运行

1.场景:

我有台外网服务器, 我有个内网服务器上有个web应用, 现在希望通过访问外网服务器的443端口就能访问内网服务器的web服务.

client_d能访问server_a即可,server_a处于互联网中(拥有公网IP). server_b能同时访问server_a和server_c

即, CLIENT_D 访问https://129.28.x.x 时, 就相当于访问 https://192.168.1.10

图一
图一

2. ssh 用法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
man ssh  #查看帮助文档最快

这看起来可能有点懵(默认情况下,方括号里的内容表示可省略)
这看起来可能有点懵(默认情况下,方括号里的内容表示可省略)

看起来比较麻烦,我都总结如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh -R [HOST_1_IP]:HOST_1_PORT:HOST_2_IP:HOST_2_PORT  HOST_1_IP[:HOST_1_PORT] -Nf

解释(参考图一):

-R 关键词

-Nf 后台启用,不打开shell

HOST_1_IP 拥有公网IP的服务器(SERVER_A) HOST_1_PORT 拥有公网IP的服务器(SERVER_A)的端口 HOST_2_IP 私网服务器的IP(SERVER_C) HOST_2_PORT 私网服务器的IP(SERVER_C)的端口

3.实现图一要求:CLIENT_D 访问SERVER_C的web服务

3.1 在SERVER_A 上开启ssh的TCP转发,并重启ssh服务.

编辑 /etc/ssh/sshd_config 修改如下内容

AllowAgentForwarding yes

AllowTcpForwarding yes

3.2在SERVER_B上执行如下代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh -R 8001:192.168.1.10:446 129.28.x.x  -Nf    #我这里是为了保护IP才写的x.x, 你要根据实际情况来哈.
我配置了ssh免密登录,所有不用输入密码,不会的同学可以参考我以前写的"SSH 免密登录 SHELL安装脚本"
我配置了ssh免密登录,所有不用输入密码,不会的同学可以参考我以前写的"SSH 免密登录 SHELL安装脚本"

ssh免密登录:https://cloud.tencent.com/developer/article/1612304

查看端口,确实监听了的(但是仅对于服务器自生可见)

扫描端口:https://cloud.tencent.com/developer/article/1523191

这个端口就仅服务器自生可见,其它服务器扫描不了这个端口
这个端口就仅服务器自生可见,其它服务器扫描不了这个端口

3.3 直接访问;https://server_a:8001是不得行的.

所有我们再做一下tcp转发.用haproxy.

安装haproxy

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install haproxy

编辑配置文件/etc/haproxy/haproxy.cfg 把它原有的负载配置注释掉(frontend及其之后的行全部注释掉.),并添加如下内容.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
frontend https
  bind *:443
  mode tcp
  default_backend app

backend app
  mode tcp

balance roundrobin
  stick-table type ip size 200k expire 60m
  stick on src
  server s1 127.0.0.1:8001

启动服务,并查看

测试:

访问https://129.28.x.x

总结: ssh本质上是转发的tcp流量, haproxy也是转发的tcp流量, 所以ssl认证是内网服务器和客户端进行的.

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux SSH 端口转发
如果不考虑防火墙等原因的话,B 可以SSH远程到 A,但是A无法SSH到B(因为B是私网IP)。
大大刺猬
2020/03/13
10.8K0
SSH端口转发
让我们先来了解一下端口转发的概念吧。我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能:
用户4877748
2020/07/22
3.1K0
SSH端口转发
SSH端口转发
ssh 会自动加密和解密所有的ssh客户端与服务端之间的网络数据。但是ssh 还提供了一个端口转发的功能。转发是一种与其他网络应用程序交互的方式,它能将其他TCP端口的网络数据通过SSH链接来转发,并且自动提供了相应的加密以及解密服务。这一过程有时也被叫做隧道
smallwormer
2019/05/01
3.9K0
Linux端口转发的几种常用方法
在一些实际的场景里,我们需要通过利用一些端口转发工具,比如系统自带的命令行工具或第三方小软件,来绕过网络访问限制触及目标系统。
Bypass
2020/08/27
52.9K0
流量转发的应用与实现
在安全领域,流量转发有许多应用,本文简单举例一些使用场景,以及自己用代码实现高效转发流量
安恒网络空间安全讲武堂
2019/09/29
5.7K0
SSH 端口转发小结
Linux 的 SSH 服务不仅仅能够远程登录和管理,还可以在本地计算机和服务器之间建立 TCP 通道, 实现代理、内网穿透、暴露内网服务等功能,简单可靠。
beginor
2020/08/10
1.7K0
利用腾讯云主机+SSH远程端口转发实现内网穿透
1)内网服务器CentOS7.6 IP 192.168.198.130 (该机器可以访问互联网)
yuanfan2012
2020/12/15
23.5K1
利用腾讯云主机+SSH远程端口转发实现内网穿透
SSH加密隧道之端口转发
SSH会自动加密和解密所有SSH客户端与服务端之间的网络数据,还能够将其他TCP端口的网络数据通过SSH连接进行转发,并且自动提供了相应的加密及解密服务,这一过程被叫做“SSH隧道” (tunneling)。
糖果
2020/02/17
4K0
SSH加密隧道之端口转发
SSH的三种端口转发
最近工作中经常需要ssh登录到某台跳板机,再连接受限网络环境中的某台服务器。以前经常用SSH端口转发这一功能,但周围的同事好像对这个并不清楚,这里记录一下以备其它同事询问。
jeremyxu
2019/03/13
2.6K0
frp端口转发内网穿透
简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP、TCP、UDP等众多协议。我们今天仅讨论TCP和UDP相关的内容。
鸿鹄实验室
2021/04/15
2.8K0
frp端口转发内网穿透
端口转发知多少?局域网向外看,互联网向内传,这一行指令,够了!
本文假设题主在国内出差,公司内部局域网有一台电脑W,可以访问外网。题主有一台云服务器S,有公网IP(2.2.2.2)。下面阐述一下,如何借由S访问W的资源。
程序员小助手
2020/04/08
2.7K0
如何设置 SSH 隧道(端口转发)
SSH隧道或SSH端口转发是一种在客户端和服务器机器之间创建加密SSH连接的方法,通过该连接可以中继服务端口。
星哥玩云
2022/07/28
8.7K0
如何设置 SSH 隧道(端口转发)
SSH原理常见应用升级及端口转发
命令 -L localport:remotehost:remotehostport sshserver
iginkgo18
2020/09/27
1.9K0
SSH原理常见应用升级及端口转发
Haproxy安装及端口转发配置
haproxy是一款功能强大、灵活好用反代软件,提供了高可用、负载均衡、后端服务器代理的功能,它在7层负载均衡方面的功能很强大(支持cookie track, header rewrite等等),支持双机热备,支持虚拟主机,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入;同时还提供直观的监控页面,可以清晰实时的监控服务集群的运行状况。
用户8851537
2021/07/23
1.3K0
ssh端口转发穿越多重跳板机的方法
本篇文章简单介绍一下三种 SSH 端口转发的操作,本篇文章创建的日期为 1.16,真正动手写的日期是 2.16,刚好鸽了一个月,笑死。本来想好好写一下的,现在就稍微写一下吧,知识这个东西,一旦你掌握了,就再也无法忘记了。
棒棒鸡不棒
2022/09/02
5.2K1
ssh端口转发穿越多重跳板机的方法
流量转发映射
客户端无法直接请求服务器,只能将请求发往转发代理服务器(简称代理服务器),代理服务器将请求转发给服务器,接收到服务器响应后再将响应转发回客户端。适用于客户端从内部网络访问外部网络时,可能由于防火墙的存在无法直接访问外网,这时需要借助转发代理服务器访问外部网络
宸寰客
2020/10/10
2.7K0
流量转发映射
SSH 隧道:端口转发功能详解!
SSH 隧道是一种安全的数据传输方法,它允许我们在不安全的网络上建立一个安全的连接。SSH 隧道提供两大功能:
民工哥
2024/06/17
1.1K0
SSH 隧道:端口转发功能详解!
SSH 端口转发实例详解
SSH 端口转发功能能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。其实这一技术就是我们常常听说的隧道(tunnel)技术,原因是 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输。
星哥玩云
2022/07/07
1.2K0
SSH 端口转发实例详解
Linux 端口转发
本地执行建立隧道,通过远端端口访问本机 vim /etc/ssh/sshd_config
以谁为师
2019/05/28
21.8K1
一文打尽端口复用 VS Haproxy端口复用
Haproxy是一个使用c语言开发的高性能负载均衡代理软件,提供tcp和http的应用程序代理,免费、快速且可靠。
Ms08067安全实验室
2020/12/31
3.1K0
相关推荐
Linux SSH 端口转发
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验