SSH反向代理实现外网访问内网服务器

原创 2015年11月18日 22:45:07

机器状况

机器号 IP 用户名 备注
A 192.168.1.130 usr_a 目标服务器,在局域网中,可以访问 A
B B.B.B.B usr_b 代理服务器,在外网中,无法访问 A
C - - 可以直接访问 B,无法直接访问 A

目标

从 C 机器使用 SSH 访问 A

解决方案

在 A 机器上做到 B 机器的反向代理;在 B 机器上做正向代理本地端口转发

环境需求

  • 每台机器上都需要 SSH 客户端
  • A、B 两台机器上需要 SSH 服务器端。通常是 openssh-server。

    在 Ubuntu 上安装过程为

    sudo apt-get install openssl-server
    

实施步骤

  1. 建立 A 机器到 B 机器的反向代理【A 机器上操作】

    ssh -fCNR <port_b1>:localhost:22 usr_b@B.B.B.B
    

    <port_b1> 为 B 机器上端口,用来与 A 机器上的22端口绑定。

  2. 建立 B 机器上的正向代理,用作本地转发。做这一步是因为绑定后的 端口只支持本地访问【B 机器上操作】

    ssh -fCNL "*:<port_b2>:localhost:<port_b1>' localhost
    

    <port_b2> 为本地转发端口,用以和外网通信,并将数据转发到 <port_b1>,实现可以从其他机器访问。

    其中的*表示接受来自任意机器的访问。

  3. 现在在 C 机器上可以通过 B 机器 ssh 到 A 机器

    ssh -p <portb2> usra@B.B.B.B
    

至此方案完成。


SSH 参数解释

-f 后台运行
-C 允许压缩数据
-N 不执行任何命令
-R 将端口绑定到远程服务器,反向代理
-L 将端口绑定到本地客户端,正向代理
SSH 自动输入密码登录服务器
安装 sshpass 
sudo apt-get install sshpass
安装完成后使用sshpass允许你用 -p 参数指定明文密码,然后直接登录远程服务器。例如:

sshpass -p '你的密码' ssh 用户名@服务器ip地址

用 '-p' 指定了密码后,还需要在后面跟上标准的 ssh 连接命令

ssh反向代理,让内网的服务器可以通过外网访问

内网服务器(ServerA)      IP: 192.168.0.103 ssh端口 22     用户 userA   密码: usr_c123 外网服务器(MyServer): ...

利用ssh反向代理以及autossh实现从外网连接内网服务器

前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛。但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上...

ssh反向隧道实验——没有端口映射的前提下,让外网访问内网服务器

摘要 设想这样一种场景: 在局域网中架设了一台服务器,但是又没有网关的配置权限(比如企业内部局域网内搭建的测试服务器,你又不是网管;比如校园网内部学生为学习而练习搭建的服务器等等),同时还希望外网...

ssh 反向代理 外网访问内网

原文地址::http://www.open-open.com/lib/view/open1434007270286.html 相关文章 1、通过SSH反向代理,远程登录局域网主机----h...

ssh 反向代理 外网访问内网

转:http://blog.sina.com.cn/s/blog_83dc494d0102vph3.html 先明确一下概念     外网是有固定ip的机器,ssh可以之间连接...

tomcat和Apache整合步驟(Apache设置反向代理供外网访问)

Apache的默认端口是80,tomcat的默认端口是8080.想要既使用Apache处理静态网页,用tomcat处理动态的网页,就需要Apache和tomcat整合。 软件及版本: 操作系统:Ubu...

怎样从外网访问内网服务器

★★★★★FBI WARNING★★★★★ 以下操作相当于给内网的防火墙上开了个洞,会给整个内网带来极其严重的安全隐患! 为避免产生法律问题,请在操作前务必向网络管理员咨询您的操作权限! ...

外网访问内网服务器设置方法+远程图形终端

外网访问内网的路由器设置方法和VNC远程图形终端
  • zmh890
  • zmh890
  • 2015年10月01日 17:21
  • 4971

通过外网访问内网服务器(绝对成功)

首先使用tomcat在电脑上建立一个服务器,怎样建立看我的另外一篇博客。 此时,我的tomcat开放的端口是8888.   然后登录路由器的管理页面,在cmd中查看ip地址,ipconfig ...

外网访问内网服务器 端口映射

根本不需要花生壳,只需要一个路由器 1.首先查看本机的ip地址 2.然后,在浏览器里输入192.168.1.1,找到转发规则-虚拟服务器-添加单个条目,按图中提示输入。 3.点击...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SSH反向代理实现外网访问内网服务器
举报原因:
原因补充:

(最多只允许输入30个字)