ssh隧道-能ssh就能http和tcp,通过ssh就能访问内网web页面和数据库

本文介绍了如何通过SSH配置跳板机,实现从本地直接访问内网云主机上的服务,如Web页面和数据库。通过设置端口转发,可以避免多次传输文件和输入密码的繁琐步骤,提高工作效率。同时,还讲解了如何允许其他IP通过本机访问内网资源,以及在跳板机上直接访问自身未放开的端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出于安全考虑,一般云主机都只能通过堡垒机两级ssh才能连通,即先ssh堡垒机,再ssh连到内网目标云主机上执行命令。
(堡垒机俗称跳板机,一般只开放一个ssh端口。有些堡垒机没有公网IP,必须先登录vpn能才能连)

怎么传文件呢?

先传到跳板机再传到目标机?传2次?太麻烦,浪费时间还浪费磁盘空间。
有人说配置config,可以直接ssh目标机,也可以直接scp文件到目标机。没错是这样(文中有配置示例)。

那云主机上有web页面能直接访问么?

  • 内网数据库能直接连么?

当然可以的,能连ssh,就能访问内网的网页和数据库。只要能手动多级ssh访问到,就能通过配置ssh后在本地直接访问到。

轻松实现

假设网络条件如下:(受安全组或网络策略影响,只能通过10.20.20.20访问192.168.88.8:8888)

本机(登录VPN 公网IP:8444) --> 10.10.10.10:22 --> 10.20.20.20:22 -->
192.168.88.8:8888

只需3步:

  1. 本机配置ssh跳板。保证本机能直接ssh 10.20.20.20。因为跳板机10不能访问目标8888端口
  2. 在命令行中(推荐GitBash)执行如下命令,输入20的账号密码
ssh -f -N -L localhost:12345:192.168.88.8:8888 user@10.20.20.20 -p22
  1. 在本机浏览器中输入localhost:12345,出来的就是目标机8888端口的内容。

配置ssh跳板

配置本机直接ssh 10.20.20.20。配置示例:
vi $HOME/.ssh/config

Host jumper
  hostname 10.10.10.10 #跳板机要装有ncat,否则连接时会报错
Host sub2020
  hostname 10.20.20.*
  ProxyCommand ssh -q -A jumper nc %h %p
  • 当然如果8888是数据库端口,也是直接在数据库客户中配置地址为localhost:12345。
  • 当然10.10.10.10,10.20.20.20也可以配置免密登录,不用再输密码

再引申一下,还想让其他ip通过本机直连内网页面

其他IP --> 本机IP:12345(登录VPN 公网IP:8444) --> 10.10.10.10:22 -->
192.168.88.8:8888

ssh -f -N -L 本机IP:12345:192.168.88.8:8888 user@10.10.10.10 -p22

或者

ssh -f -N -L :12345:192.168.88.8:8888 user@10.10.10.10 -p22
  • 注意前提是要保证本机的防火墙已放通12345端口,这样别人才能连通本机的12345端口

再简单一点,目标服务就在跳板机上,但是端口未放开(只放开22)

本机 --> 10.10.10.10:22 --> 10.10.10.10:8888

ssh -f -N -L :12345:10.10.10.10:8888 user@10.10.10.10 -p22
为了实现内网环境中的SSH服务对外网的访问,可以采用FRP工具来进行内网穿透。以下是具体的配置步骤注意事项: 参考资源链接:[frp内网穿透教程:部署与使用](https://wenku.csdn.net/doc/4i9a44ntqj?spm=1055.2569.3001.10343) 首先,确保你已经阅读了《frp内网穿透教程:部署与使用》中的相关章节,这将帮助你理解FRP的工作原理配置方法,确保配置过程中的安全性。 1. **FRPS部署**:在拥有公网IP的服务器上部署FRPS(Fast Reverse Proxy Server)。下载对应操作系统的FRP压缩包,并解压。例如,对于Linux系统,可以使用以下命令: ```bash wget *** *** *** ``` 配置FRPS的`frps.ini`文件,设置监听的端口,例如: ```ini [common] bind_port = 7000 ``` 然后启动FRPS服务: ```bash ./frps -c ./frps.ini ``` 2. **FRPC配置**:在内网服务器上配置FRPC。解压下载的FRPC压缩包,编辑`frpc.ini`文件,配置与FRPS相同的公网IP端口,以及SSH服务的本地端口映射。例如: ```ini [common] server_addr = x.x.x.x server_port = 7000 [ssh] type = tcp local_ip = ***.*.*.* local_port = 22 remote_port = 6000 ``` 这里`remote_port`是你希望外网访问内网SSH服务时使用的端口。 3. **启动FRPC**:配置完成后,在内网服务器上启动FRPC服务: ```bash ./frpc -c ./frpc.ini ``` 在外网任何设备上,你可以通过`x.x.x.x:6000`来访问内网服务器的SSH服务。 注意事项: - 在生产环境中使用FRP时,应优先选择稳定版本,避免使用开发分支,以防止潜在的稳定性兼容性问题。 - 升级FRP服务时,务必先升级客户端再升级服务端,以保持版本兼容性。 - 对于任何生产环境的变更,都需要进行充分的测试,以确保系统的稳定运行。 通过上述步骤,你可以实现内网SSH服务的外网访问。若希望进一步了解FRP的配置细节使用技巧,推荐阅读《frp内网穿透教程:部署与使用》中的其他章节,获取更多关于FRP的使用经验知识。 参考资源链接:[frp内网穿透教程:部署与使用](https://wenku.csdn.net/doc/4i9a44ntqj?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值