Linux通过SSH隧道代理访问内网主机

  由于不忍心家里的电脑一直闲着,所以打算把家里的电脑作为一台服务器供平时折腾用。家里的电脑通过路由器可以访问外网,但是一到公司就没辙了。我想在任何时间任何地点都可以连到家里的电脑,基于这种需求我开始琢磨怎么才能实现这种功能。原本是准备自己写一个socket代理程序部署到公网服务器上,虽然性能会差点,但也能将就着用,写到一半突然想起SSH貌似有这个功能(白白浪费了半天时间)。
  首先需要一台有公网ip的服务器,如阿里云,腾讯云等(半年前5毛钱买的阿里云终于派上用场了)。
在这里插入图片描述

1. 在家里的电脑(host1)上执行
ssh -fCNR host1_port:localhost:host0_port host0_user@host0_ip
例如:ssh -fCNR 22:localhost:8000 zhangsan@268.57.66.xx
表示把host0的8000端口请求转发到host1的22端口(相当于在host0的8000端口开了个网络服务)

2. 在阿里云(host0)上执行
ssh -fCNL *:host0_port1:localhost:host0_port2 localhost
例如:ssh -fCNL *:8001:localhost:8000 localhost
表示把host0的8001端口的请求转发到8000端口
只要你访问host0的8001端口,就相当于访问host1的22端口,如此便可以在任何地方通过host0间接的访问家里的电脑了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值