ssh反向代理实现内网穿透【亲测可用】

常用内网穿透方式

1、网卡层映射,包括购买公网ip

推荐指数:👍🏻👍🏻👍🏻👍🏻👍🏻。

缺点:主要申请困难。

2、自己搭建内网穿透服务。

推荐指数:👍🏻👍🏻👍🏻👍🏻。

非常的实用,自己需要一台公网ip的主机,可以购买阿里云服务器、腾讯云服务器,推荐这款45元一年的

3、使用三方平台提供的端口映射、内网穿透服务

推荐指数:👍🏻👍🏻👍🏻

使用cpolar、ngrok、花生壳等三方提供的服务。

缺点:复杂场景问题排查困难,不是很稳定,我这边主要用了这3款打包服务器每天凌晨3点老是容易断开,与官方排查了一周未解决。

本文在文镜老哥的指导下,使用第2种ssh反向代理的方式,通过内网打包服务器,借助外网服务器,实现在家访问我们的打包服务。

一、实现打包机器无密码登录到外网机器

1、添加打包机器ssh公钥到外网服务器

在打包服务器上生成公钥 (一路回车即可生成)

ssh-keygen 

会生成id_rsa.pub文件,这是打包服务器smb服务截图:

image-20220127202810611

这是打包服务器ssh服务截图:

image-20220127202810611

复制打包机器的公钥

cat id_rsa.pub
image-20220127202810611

添加到外网机器的authorized_keys中。

终端切换到外网服务器

cd ../../
cd root/.ssh/
image-20220127202810611

使用vim命令粘贴上去保存

vim authorized_keys
image-20220127202810611

esc退出,然后wq保存

验证:在打包机器上登录外网服务器看是否需要输入密码

ssh root@81.68.175.xx
image-20220127202810611

这里打包机器不用输入密码就可登录,这步验证成功

2、ssh远程连接一段时间会失效的问题

光不输入密码就能登录,仍然存在一个问题,我们的远程登录终端是有超时时间的,这里我们在打包机器上设置重连。

在本地客户端操作:
1.进入/etc/ssh/中:cd /etc/ssh/
2.修改ssh_config文件(sudo vim ssh_config),在末尾添加ServerAliveInterval 30,意思是30s会发送一次向服务器连接的请求,以保持会话始终在线。
3.保存退出(:wq)

image-20220127202810611 image-20220127202810611

验证: 放一段时间不操作,我们的终端仍然是保持链接状态,这步就成功了。

二、在打包服务器上建立打包机器到外网机器的反向代理

1、内网端口映射到外网 [核心]

映射打包机器的8080端口到外网服务器9000端口

ssh -CqTnN -R 81.68.175.xx:9000:127.0.0.1:8080  root@81.68.175.xx &

备注:末尾的&表示后台执行

2、打开公网服务器网管开关

查看内网服务:正常

启动打包机器的jenkins服务(端口号8080),然后查看本地服务是否存在

curl http://127.0.0.1:8080 
image-20220127202810611

查看外网服务:异常

然后我们再访问可能出现访问失败的问题如下:

curl http://81.68.175.xx:9000/
image-20220127202810611

linux解决ssh tunnels端口不能转发问题

我们需要打开公网服务器网管开关/etc/ssh/sshd_config 修改 GatewayPorts yes

vi /etc/ssh/sshd_config 
image-20220127202810611

PasswordAuthentication yes 是否可以密码认证,也修改成yes

image-20220127202810611

同时我们需要在后台打开公网ip的防火墙,我这里使用的是腾讯云服务器的如下

image-20220127202810611

重启sshd

service sshd restart

3、进程管理

ps查看进程

image-20220127202810611

如果进程不对,杀掉进程 (注意9719为PID)

kill -9 9719

备注:linux查看进程命令区别

1、Jobs命令:主要用于显示系统中的任务列表及其运行状态(注意:只在当前终端有效)。

2、fg命令:用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。

3、bg命令:用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号&的效果是相同的,都是将其放到系统后台执行。

4、ps命令:查看前后台服务,不区分终端

4、nohup后台运行

现在基本成功,如果你需要退出终端仍能运行,在命令前面加上nohub即可。

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行

nohup ssh -CqTnN -R 81.68.175.xx:9000:127.0.0.1:8080  root@81.68.175.xx &

如果发现当关闭终端时,发现程序也跟着停止,nohup并没有生效:nohup命令执行后,不要直接关闭终端,使用logout/exit命令退出终端会话

logout

三、重启服务解决失效问题

由于局域网ip的变动,我这边需要重启内网穿透服务以维持稳定

3.1、ssh服务重启脚本

新建ssh_connect.sh脚本

#!/bin/bashAPP_NAME=81.68.175.xx:9000:127.0.0.1:8080echo "try to stop service..."PID=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{ print $2 }')if [ -z "$PID" ]; thenecho Application is already stopped
elseecho kill $PIDkill -9 $PID
fiecho "start service..."
nohup ssh -CqTnN -R 81.68.175.xx:9000:127.0.0.1:8080 root@81.68.175.xx &

3.2、定时任务

那么这就需要一个定时任务了,以下定时任务二选一即可

3.2.1、jenkins定时任务

新建一个jenkins定时任务内网穿透定时检查脚本

配置半小时定时任务,Jenkins定时构建时间设置参考

H/30 * * * *

执行shell脚本

其中$BUILD_ID是为了解决jenkins 解决构建成功后进程消失的问题

OLD_BUILD_ID=$BUILD_ID
BUILD_ID=dontKillMe
cd /Users/mac/Desktop
sh ssh_connect.sh
BUILD_ID=$OLD_BUILD_ID
exit

3.2.2、crontab定时任务

crontab是Mac、linux系统自带的定时任务

创建定时任务,终端输入

crontab -e

此时会打开一个vim编辑器,输入定时任务

以下定时任务设置的意思是:在上午8点到11点的第3和第15分钟执行,更多crontab定时任务语法参考这里

3,15 8-11 * * * myCommand cd /Users/mac/Desktop&&sh ssh_connect.sh

然后wq保存退出即可。

备注:另外再次打开终端可能收到定时任务的邮件,查看邮件终端输入mail,然后输入对应的序号,退出exit

四、验证

内网

http://192.168.1.114:8080/jenkins/
image-20220127202810611

外网

http://81.68.175.xx:9000/jenkins/
image-20220127202810611

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42968.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内网代理转发工具

目录 概念区分 端口转发端口映射代理隧道端口转发工具 概念讲解 socket端口转发socks代理两者的异同端口转发常用工具 msf反弹木马lcxportmapssh端口转发iptables 端口转发firewall 端口转发socks代理工具 基于web服务的socks5工具 reGeorgTunna能够进行多层代理的工具 Earthwo…

【玩转Docker】【02】反向代理神器 — Nginx Proxy Manager

一、安装 Nginx Proxy Manager 1、创建安装目录 screen # 启动screen会话,防止安装中途 SSH 连接断开,导致安装失败。sudo -i mkdir -p /root/data/docker_data/npm cd /root/data/docker_data/npm# screen -r # 重新连接之前的会话# exit …

一款开源网络转发、代理软件,解决跨网通信问题

一直比较懒,没有为开源事业做出过什么贡献,最近痛定思痛,写了一个开源软件,解决网络通信问题,附上github地址,供大家共同交流。 https://github.com/wsrf16/anchor 1.功能介绍 本软件针对跨区、跨网段等网…

苹果AppleGPT要来了!市值猛增710亿美元

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【计算机视觉】微信交流群 白交 发自 凹非寺转载自:量子位(QbitAI) 苹果AppleGPT来了! 彭博社爆料,公司正在创建自…

10大超好用ai软件,2023办公学习必备!

人工智能 (AI) 近年来取得了显着进步,并已成为科技行业的流行语。我们随时能看到大量个关人工智能工具的资讯,它有可能自动执行任务,节省时间并提高效率,使其成为企业的宝贵资产和平台。 随着人工智能的进步,旨在让企…

文心一言,站在奥林匹亚

1932年7月,在洛杉矶举办的第10届夏季奥林匹克运动会上,一个只有几人组成,运动员仅1人的代表团完成了注册参赛。他们经历了无尽的辗转波折,漫长的海上漂泊,最终来到了奥运赛场上,他们来自——中国。 来到赛场…

Google I/O 2023 全球开发者大会 Reveal Event

目录 When is Google I/O 2023? 谷歌 I/O 2023 是什么时候? Is Google I/O in person? 谷歌I/O是亲自吗?

王小川新AI公司浮出水面:成立「五季智能」,召集搜狗旧部,水下估值接近独角兽...

鱼羊 发自 凹非寺量子位 | 公众号 QbitAI 前搜狗CEO王小川的AI新公司,正式浮出水面。 公司名为五季智能。 企查查信息显示,公司股东为王小川和茹立云。 后者是王小川的老朋友,在搜狗创业初期就和王小川合作,并曾任搜狗COO&#xf…

AutoGPT的出现,会让程序员失业吗?

最近,一个叫AutoGPT的模型火了,在GitHub上线数周Star数就直线飙升。截至目前,AutoGPT的Star数已经达到87k,马上接近90k,超过了PyTorch的65k。 根据AutoGPT的命名,就可以发现其神奇之处在于“auto”&#x…

4月11号软件资讯更新合集......

跟 ChatGPT 聊天、需求润色优化,禅道 OpenAI 插件发布! 禅道插件上新了,OpenAI 禅道集成,可提供神奇海螺聊天、需求润色功能。 神奇海螺 “章鱼哥,你为什么不问问神奇海螺呢?”—— 海绵宝宝 那么&…

ChatLaw团队招实习生啦!真格基金的创业、投资与AI详细指南;远程工作的8个安全法则;游戏开发者的数学教程 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 北大 ChatLaw 团队招聘实习生,开放算法和前后端岗位 ChatLaw 是一个开源的中文法律大模型,由北京大学与北大-兔…

实现自动化部署前端项目,从安装Jenkins到部署完成的整体配置 --适合初学Jenkins、想实现或者学习自动化部署的同学,知识点比较全面,过程写的清晰

前言 一、什么是Jenkins 二、Jenkins安装配置 Linux环境安装JDK Linux环境安装Maven Linux安装Jenkins 启动Jenkins jenkins配置 配置汉化版的jenkins 安装gitHub插件 gitHub配置 jenkins的配置 jenkins的gitHub配置 jenkins的java环境配置 小总结 两种情况 第…

顶级数学家玩股票胜过巴菲特 被人建议改行(图)

曾获得世界数学界最高荣誉的西蒙斯,转做投资以后,比巴菲特做得还好 国庆长假之后,中国股民惊喜地发现,股市仿佛重新被唤醒一般,短短几日,股指势如破竹,数次高开高走。股市又开始火了&#xff0c…

【量化】用数据验证巴菲特推荐的指数定投的收益真相

作者:幻好 来源: 恒生LIGHT云社区 最近几年,越来越多的年轻人开始接触基金,购买基金定投理财,本文将通过数据验证指数定投是否真的有效。 背景简述 1993年巴菲特在《致投资者的信》中首次提到了他的建议&#xf…

评温斯坦的炒股书(非常重要,常看看)

http://blog.sina.com.cn/s/blog_674caeca0101dlgq.html 技术分析的经典书籍,就我个人的观点而言,技术分析书籍多数是浪费时间和误人子弟的,纯粹技术分析的书籍不可多读。但我现在要强烈推荐一本技术分析的经典书籍:《史丹温斯坦称…

股神巴菲特

股神巴菲特:5岁开始做生意,11岁开始炒股 沃伦巴菲特1930年出生在美国西部一个叫做奥马哈的小城。他出生的时候,正是家里最困难的几年。父亲霍华德巴菲特投资股票血本无归,家里生活非常拮据,为了省下一点咖啡钱&#xf…

四个参数秒懂巴菲特价值投资

目录 1 巴菲特价值投资三规则... 1 2 四项参数指标对应三条规则... 1 3 价值投资选股软件... 2 1 巴菲特价值投资三规则 要说炒股,那必须得说说炒股界的扛把子巴菲特,他的选股理论是价值投资。价值投资属于长期投资策略。价值投资理论是用一个便宜的…

Android 仿微信群聊组合头像

转载:http://blog.csdn.net/tiantianshangcha/article/details/9836809 大概原理是先设想一个要合成的图片的大小,然后根据要合成的图片的个数以及要展示的位置进行计算,生成坐标系的配置。 然后利用android的绘图把要合成的头像根据坐标系&a…

仿微信通过拍照、本地图片然后裁剪完美更换头像

其实更换头像这个功能是个老梗了,写的人也很多,但是我没有看见过特别让我满意的,没办法,只能自己搞了。这里面我只说难点吧,最后的会附上完整的代码。 这里面涉及到的功能有哪些呢? 大概有:拍…