ssh隧道
最近有需求使用ssh隧道,顺便研究了下,以下记录一下大概说明
ssh隧道顾名思义在可以通过ssh连接的server之间建立加密隧道,常用于突破网络限制
常用三种端口转发模式:本地端口转发,远程端口转发,SOCKS代理
一、本地端口转发
场景1:
本机A:10.10.100.1
跳板机B:111.111.111.111
远程主机C:222.222.222.222
主机A可以ssh连接到B但无法ssh到C
主机B可以ssh到C
现在希望从主机A ssh到主机C
这种情况在一些防火墙环境下非常常见
现在使用如下命令建立隧道
ssh -Nf -L 127.0.0.1:2222:222.222.222.222:22 111.111.111.111
此时查看本地会发现本地监听2222端口,此时ssh连接本地2222端口即是连接主机C
-N 表示不执行任何命令只建立连接
-f 表示后台运行
-L 参数格式:[local_address:]local_port:remote_host:remort_port,本地地址可以省略,默认127.0.0.1(有人说是所有地址,但我测试的默认是环回地址)
此方案还可用于远程mysql等服务端口映射到本地,然后使用图形化工具管理等
二、远程端口转发
场景2:
主机A:10.10.100.1 本身没有公网地址,通过NAT方式上网
主机B:111.111.111.111 公网主机
主机A可以ssh连接到主机B,但由于是NAT公网无法主动连接到主机A
现在需要从公网ssh到主机A
使用如下方式建立隧道
ssh -Nf -R 0.0.0.0:2222:127.0.0.1:22 111.111.111.111
建立成功后会发现主机B 监听2222端口,此时通过任意机器连接主机B的2222端口即连接主机A
这种方式常用于访问防火墙后或通过NAT上网的内外主机
三、SOCKS代理
场景3:
主机A:10.10.100.1 内网机器无法访问公网
主机B:10.10.100.2 内网机器,但有公网地址,可以访问公网
现在需要主机A通过主机B访问公网(当然也有别的解决方案,我们这里只讨论ssh隧道技术)
使用如下命令建立隧道
ssh -Nf -D 1080 10.10.100.2
此时主机A监听1080端口,其他程序需要配置socks代理转发到此端口即可访问公网
若程序本身不支持配置socks代理,可能还需要些其他的代理工具。
(参见上一篇文章ssh代理上网 http://www.cnblogs.com/soyops/p/sshsocket.html)
这种方式如果有一台国外的vps可以建立隧道用来科学上网。
注:若使用隧道科学上网的话最好开启压缩参数(-C)速度会快很多。
ssh隧道的更多相关文章
- SSH隧道应用, 突破网络限制
文/怡文圣美 这篇文章可以帮你解决下面三个问题: 不能直连服务器, 要先登陆跳板机, 造成客户端工具无法连接服务器. 服务器没有公网IP, 且只允许公司IP访问, 要在家里操作要先远程桌面到工作机再登 ...
- ssh隧道(端口转发)
本地转发: ssh -Nf -L [bind_address:]port:host:hostport sshServer -Nf 后台运行 -L 本地转发 [bind_address] 绑定本地地址, ...
- 通过 SSH 隧道方式图形化连接 AIX 服务器
跳转到主要内容 登录 (或注册) 中文 [userid] IBM ID: 密码: 保持登录. 单击提交则表示您同意developerWorks 的条款和条件. 查看条款和条件. 需要一个 IBM ID ...
- ssh隧道技术
大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的需求以及在网上查找的资料配合自己的实际操作所得到的一些心得. SSH ...
- 【转】三种不同类型的ssh隧道
转自:http://blog.creke.net/722.html 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的 ...
- SSH隧道技术----端口转发,socket代理
原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...
- 公司内网Debian Server上的openvpnserver搭建并通过SSH隧道转发到广域网
因为戴维营公司在长沙的学员,研发人员和北京的研发人员须要协同研发,故须要让北京的兄弟们增加到长沙办公室的内网,訪问版本号 管理server,于是採用在内网server上搭建一个OpenVPN服务,并把 ...
- 配置SSH隧道访问Ubuntu服务器上的MongoDB
为了数据安全,在MongoDB的配置文件里,一般会把默认的27017端口port改为自定义的端口号,然后把允许访问的IP设为127.0.0.1(即主机本身).但是这样就会在开发的过程查看数据时带来麻烦 ...
- 调试利器:SSH隧道
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本文作者:ivweb 吴浩麟 原文出处:IVWEB社区 未经同意,禁止转载 在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需 ...
随机推荐
- IDEA第四章----配置模板
idea提供很多模板从而提高编写代码的效率,比如说一些经常用的代码及生成文件时的模板. 第一节:实时代码模板 顾名思义,实时代码模板是指在编写程序中输入一段固定的字母可以快速生成自己想要的代码,例如: ...
- 微信小程序,前端大梦想(五)
微信小程序之综合应用-访问网络加载数据 移动端访问网络加载数据时必不可少的功能,本章将接入豆瓣电影API,以列表的形式展现数据,支持下拉刷新及点击查看详情.重点包括: l 访问网络 l 跳转画面及传参 ...
- 使用Blender的UV映射制作一个地球
UV映射是一个用来2D图片纹理转换3D网格的标准技术.U和V表示平面坐标的两个轴,对应了3D空间中X.Y和Z.Blender手册是这样解释UV映射的:想象一个3D模型对象,例如一个球体,平铺到桌面上. ...
- 玩转mongodb(九):通过log4jmongo来实现分布式系统的日志统一管理
背景 在分布式系统中,我们有多个web app,这些web app可能分别部署在不同的物理服务器上,并且有各自的日志输出.当生产问题来临时,很多时候都需要去各个日志文件中查找可能的异常,相当耗费人力. ...
- zoj3204 Connect them 最小生成树
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3367 题目就是简单的最小生成树的模板的应用,不过最小生成树可能不唯一 ...
- Servlet简单总结(一)
一.Servlet简单总结 1.1. 什么是Servlet Servlet是JavaEE三大组建之一,是使用Java语言编写服务器端的程序,主要用来处理Web应用程序中的请求-响应.Servlet并没 ...
- 6.1熟知tsung.xml配置文件(翻译)
6.1.文件结构 默认的encoding是utf-8,你也可以使用以下不同的encoding:<?xml version="1.0" encoding="ISO-8 ...
- web基础之会话技术
一.会话技术之Cookie Cookie技术是将数据存储到客户端 1.怎样去向客户端写出一个cookie 1)创建Cookie对象 Cookie cookie = new Cookie(name,va ...
- javascript之深入剖析this
this的重要性不言而喻,比如面试题经常考到,其次,如果彻底理解了this,那么对理解框架源码及编写高质量代码都有很大的帮助.本文就是要深入剖析this的几种情况,理解了原理,以后妈妈再也不用担心你的 ...
- H5水果机,一个网络版的lao hu ji
该游戏为h5小游戏,纯属娱乐,技术探讨,相关技术在文章结尾,欢迎探讨交流 花了几天时间开发了这款水果lao hu ji,更新了几个版本,还有不足的地方,由于时间有限暂时没有继续更新新版本 未完成的功能 ...