ssh反向代理设置

一、功能描述:
通过ssh反向代理服务器使得没有公网ip的Linux服务器可以被外网访问。
1、实验主机ip:
(1)终端1(192.168.1.101):在局域网内,可以访问外网,无公网ip
(2)终端2(192.168.1.102):在局域网内,可以访问外网,无公网ip
(3)反向代理服务器(58.23.223.90):具有公网ip,可以从互联网访问
2、实验步骤:
(1)通过ssh登陆终端1并且执行如下命令:

ssh -fCNR 12000:localhost:22 -p 22 -i ./test.key [email protected]
说明:反向代理服务器是密钥登陆方式,test.key是私钥。
执行完上述命令后,在反向代理服务器上执行:netstat -anlp |grep 12000命令会有如下结果:
netstat -anlp |grep 12000
tcp 0 0 127.0.0.1:12000 0.0.0.0: LISTEN 6907/sshd
tcp 0 0 ::1:12000 :::
LISTEN 6907/sshd
(2)通过ssh登陆终端2并且执行如下命令:

ssh -fCNR 12001:localhost:22 -p 22 -i ./test.key [email protected]
说明:反向代理服务器是密钥登陆方式,test.key是私钥。
执行完上述命令后,在反向代理服务器上执行:netstat -anlp |grep 12001命令会有如下结果:
netstat -anlp |grep 12001
tcp 0 0 127.0.0.1:12001 0.0.0.0: LISTEN 6907/sshd
tcp 0 0 ::1:12001 :::
LISTEN 6907/sshd

(3)通过ssh登陆反向代理服务器:
在反向代理服务器上这时可输入如下命令访问终端1和终端2:
ssh -p 12000 [email protected] -i 终端1.key
--说明:test是终端1的用户,终端1.key是终端1上test用户的私钥
ssh -p 12001 [email protected] -i 终端2.key
--说明:test是终端1的用户,终端1.key是终端2上test用户的私钥

结果:这样可以在反向代理服务器上直接访问终端1和终端2
(4)在反向代理服务器上建立本地端口转发,以供网内其他主机可以访问终端1和终端2,执行如下命令:

ssh -fCNL :13000:localhost:12000 [email protected] -p 22 -i ./服务器.key

说明:test用户是反向代理服务器的用户,服务器.key是test用户的私钥

结果:可以通过访问反向代理服务器的13000端口访问到终端1,终端2同理。

原文地址:http://blog.51cto.com/bristol/2064298

时间: 2024-10-22 20:58:48

ssh反向代理设置的相关文章

SSH反向代理

问题描述 很多人肯定碰到这样一个问题:自己办公室的电脑回家之后就没法通过家里的电脑远程连接过来了.除非通过拨通VPN或者其他方式先连接到公司内网.如果公司没有VPN,那么我们如何通过SSH连接到公司的电脑呢?这里我们可以使用SSH反向代理 实验环境 机器编号 IP 用户名 备注 A 172.16.206.131 aaa 目标服务器,在局域网中,可以访问 A B 10.10.10.206 bbb 代理服务器,在外网中,无法访问 A C 10.10.10.202 可以直接访问 B,无法直接访问 A

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

1. 描述一下目前的机器状况,梳理梳理: 机器 IP 用户名 备注 A 10.21.32.106 gdut728 目标服务器,处于内网 B 123.123.123.123 root 外网服务器,相当于桥梁的作用 PS:123.123.123.123只是我随意起的,大家请别攻击别人的服务器啊啊啊 2. 解决方法: 通俗地说:就是在机器A上做到B机器的反向代理:然后在B机器上做正向的代理实现本地端口的转发 2.1 实现前的准备 每台都要安装ssh的客户端. 在这里我使用的是centos7,都自带ss

Nginx的安装及反向代理设置

因为项目的缘故,接触到了Nginx的安装和反向代理设置,和大家分享下. 一.Nginx的下载.安装cd /homewget http://nginx.org/download/nginx-1.0.5.tar.gztar -zxvf nginx-1.0.5.tar.gzcd nginx-1.0.5./configuremakemake install 二.反向代理设置编辑Nginx的配置文件vi /usr/local/nginx/conf/nginx.conf,替换server { }的{ }中的

ubuntu 14.04+apache 反向代理设置

第一步 sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_balancer 第二步 在ubuntu的apache里,每个网站的配置文件是放在单独的文件里,找到 sites-available 文件夹里对应的文件并修改,修改后的配置文件差不多是下面的样子. ServerName www.a.com DocumentRoot “/var/site/www/” ProxyRequests Off <Proxy *> Order

Apache 反向代理设置

环境: Debian7.5 + apache2.2.24(wdcp/wdlinux) 1.转至apache源码包的proxy目录: cd /v/softs/lanmp/httpd-2.2.24/modules/proxy 2.执行apxs命令,编译得到mod_proxy.so: sudo /www/wdlinux/apache/bin/apxs -c -i -a mod_proxy.c mod_proxy_connect.c mod_proxy_http.c proxy_util.c #命令完成

Ubuntu下Apache反向代理设置

Apache可通过mod_proxy*.so系列模块很好的实现正向.反向代理功能,亦可通过反向代理实现负载均衡,本文将讲述基于Apache反向代理实现负载均衡的配置方法. 1.环境配置说明: 代理服务器域名:ap.proxy web server 1 ip:192.168.195.18 port:80 web server 2 ip:192.168.195.19 port:80 backup server ip:192.168.195.20 port:80 2.确认开启模块:mod_proxy,

jenkins提示反向代理设置有误

jenkins提示反向代理设置有误 参照地址 https://www.cnblogs.com/yhleng/p/7594892.html 分析:是junkins的url地址填错了 解决: 系统管理-->系统设置里的Jenkins URL和端口没有写对,纠正就可以 Jenkins URL http://192.168.0.73:9195/ 原文地址:https://www.cnblogs.com/effortsing/p/10060708.html

Visual SVN IIS反向代理设置

需要解决的问题: 1. 设置反向代理 2. 解决部分后缀文件无法提交的问题 1. 设置反向代理 接收所有的URL 允许所有的HTTP_HOST 跳转到被代理的服务器 2. 允许所有后缀的文件访问IIS服务器 清楚所有IIS默认的fileExtensions <security> <requestFiltering> <fileExtensions> <clear/> </fileExtensions> </requestFiltering&

CentOS7.2 安装Squid3.5及正、反向代理设置

Squid是比较知名的代理软件,它不仅可以跑在linux上还可以跑在windows以及Unix上,它的技术已经非常成熟.目前使用Squid的用户也是十分广泛的.Squid与Linux下其它的代理软件如Apache.Socks.TISFWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议.       Squid之所以用的很多,是因为它的缓存功能,Squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O. 从经济角度考虑,它是很多网站架构中不可或缺的角色.