前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三步学会SSH端口代理(全网最简单、实用)

三步学会SSH端口代理(全网最简单、实用)

作者头像
爱技术的小黄鸭
发布2023-08-08 15:16:32
3.7K2
发布2023-08-08 15:16:32
举报
文章被收录于专栏:IT小圈

简述

端口代理或者说转发在实际业务中还是比较常见和需要的,特别是当您需要从互联网访问内网业务,另外常见的就是在实际环境中,因网络限制导致一些业务或需求的需要而做代理……庆幸的是Linux大法真的好用,几乎你用到的它都能完成。

2023-08-03T08:40:12.png
2023-08-03T08:40:12.png

场景逻辑

  • 如上图,客户机C 需要访问 业务机A 上的web服务
  • 业务机A 可以访问 云服务B ,反之 云服务B 无法直接访问 业务机A
  • 云服务B 正常情况下,客户机有外网就可以随时随地访问 云服务B

实现想法

云服务B SSH配置

业务机A 操作

代码语言:javascript
复制
## 配置 ssh key,用于免密登录
ssh_keygen

## 将key 文件 id_rsa.pub 传送给远端 云服务B
ssh-copy-id -i id_rsa.pub -p 8857 root@云服务B



## 开启端口转发
## 8066 是 云服务B上的监听端口
## localhost:80 是 业务机A 本地信息及业务端口
## 6786 是 云服务B ssh 端口
ssh -NfR 8066:localhost:80 root@云服务B -p 6786
  • 客户机C 验证
    • 访问 云服务B:8066
    • 实际获取得 业务机A:80 上的内容
    • 客户机C 无感,但如果 ssh 端口代理异常,就会业务无法访问

补个小漏

业务机A 检查至 云服务B 网络是否正常

代码语言:javascript
复制
ping -c 4 -w 3 云服务B

业务机A 检查 SSH 端口代理是否正常

编写 port_fr.sh

代码语言:javascript
复制
#!/bin/bash
if ! lsof -i:80 | grep -q 'ssh';then
ssh -NfR 8066:localhost:80 root@云服务B -p 6786
fi

添加计划任务 cron,每分钟巡检一次

代码语言:javascript
复制
*/1 * * * * bash port_fr.sh > /dev/null 2>&1
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简述
  • 场景逻辑
  • 实现想法
  • 补个小漏
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档