分正向和反向。

假设,本地机器可以ssh连上远程机器。本地机器在下面叫做SSHClient, 远程机器叫做SSHServer.

一、 正向代理(本地转发)

在SSHClient机上执行:

: SSHServer -p22
注意:
1. 蓝色部分就是一个ssh语句。绿色是本地。红色是远程。
2. 这里面的"localhost"指的是SSHServer机上的localhost。而绿色1234才是本地。
3. 这条命令的作用是:在本机(SSHClient机)上打开一个端口1234,这个1234能把接收的数据转发到SSHServer机上的12300端口.
4. 注意SSHClient机上的1234在SSHClient的localhost上。如果希望SSHClient的同内网其他机器(能够直接访问SSHClient的机器)也能访问这个1234,怎开办呢?加-g参数:
ssh -g -NfL 1234:localhost:12300 SSHServer -p22
(加-g参数前后,可以看看 lsof -i :1234 的区别: LISTEN从localhost变为*了~)
也可以这样:
ssh -NfL 0.0.0.0:1234:localhost:12300 SSHServer -p22
5. 如果想转发的是SSHServer机器上可以访问的其他服务,比如www.baidu.com:80,那就把上面命令里的红色换成www.baidu.com:80即可。然后浏览器打开localhost:1234,却发现然并卵——"Empty reply from server"。。。其实已经转发成功了,但是对于http应该这样: curl -H "Host: www.baidu.com" -X GET http://localhost:1234

二、反向代理(远程转发)

在SSHClient机上执行:

:localhost:22  SSHServer -p22
注意:
1. 蓝色部分就是一个ssh语句。绿色是本地。红色是远程。
2. 这里面的"localhost"指的就是本机(SSHClient机)上的localhost。而红色是远程机上开了个‘洞’。这时上SSHServer上 lsof -i :2222 就会发现已经打开了端口监听。
3. 这条命令的作用是:在远程机器SSHServer上开了一个端口2222, 这个2222会把接收到的数据转发到SSHClient上的22端口。
(22是ssh,那么登上SSHServer用ssh连SSHClient试试: ssh user@SSHClient -p2222  这里假设SSHClient机上面也安装了ssh服务)

ssh的tunnel隧道打洞的更多相关文章

  1. [daily] 比端口转发更高级的ssh device tunnel转发

    没有什么能够阻挡,你对自由的向往. 场景: 我有一台设备Server100,在某一个f复杂的内网里,需要多次ssh跳转可以访问到.但是它不能直接访问internet. 我现在需要在我的ssh路径上,搭 ...

  2. 关于WinSCP如何通过Tunnel隧道进行远程连接-进行文件的传输

    对于公司业务相关的重要的Linux服务器,一般都会限制源IP登录,一般就会使用到jumper server(跳板机) 这样一来,我们的Client就无法直接ssh/scp/sftp到目标服务器了,这样 ...

  3. ssh和SSH服务(包含隧道内容)

    ssh和SSH服务(包含隧道内容) 72.16.10.6:/etc/fstab-->/172.16.10.3:/tmp/a.txt. [root@xuexi ~]# scp 172.16.10. ...

  4. SSH隧道打洞技巧

    SSH Tunnel有三种,分别是Local模式(ssh -NfL),Remote模式(ssh -NfR),Dynamic模式(ssh -NfD). 基本参数说明: -N 不执行任何命令 -f 在背景 ...

  5. ssh reverse tunnel

    ssh反向通道的可用场景之一:从外网访问内网的主机.所必须的是你需要一个有ssh登录权限的公网主机. 步骤如下(将内网主机称作A,公网ssh主机地址为hostP ): 1.在内网A上执行 :local ...

  6. 第1章 ssh和SSH服务(包含隧道内容)

    本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种功能,相信能让各位对ssh有个全方位较透彻的了解,而不是仅仅只会用它来连接远程主机. 另外,本人翻译了ssh客户端命令的 ...

  7. DNS Tunnel隧道隐蔽通信实验 && 尝试复现特征向量化思维方式检测

    1. DNS隧道简介 DNS隧道技术是指利用 DNS协议建立隐蔽信 道,实现隐蔽数据传输.最早是在2004年 DanKaminsky 在 Defcon大会上发布的基于 NSTX 的 DNS隐蔽 隧道工 ...

  8. [转]ssh和SSH服务(包含隧道内容)

    本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种功能,相信能让各位对ssh有个全方位较透彻的了解,而不是仅仅只会用它来连接远程主机. 另外,本人翻译了ssh客户端命令的 ...

  9. 图解再谈ssh port forwarding-ssh隧道技术

    https://www.ramkitech.com/2012/04/how-to-do-ssh-tunneling-port-forwarding.html https://www.cnblogs.c ...

随机推荐

  1. Linux proc目录下 几个系统文件下的各项参数 (cpuinfo,uptime,meminfo,stat,loadavg)

    参考链接: Linux 操作系统内核基本实验.pdf http://max.book118.com/html/2015/0919/25787869.shtm Linux下cpuinfo文件各项参数的详 ...

  2. 洛谷 P1757 通天之分组背包 【分组背包】

    题目链接:https://www.luogu.org/problemnew/show/P1757#sub 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包 ...

  3. python的random模块(生成验证码)

    python的random模块(生成验证码) random模块常用方法 random.random() #生成0到1之间的随机数,没有参数,float类型 random.randint(1, 3) # ...

  4. H5即时通讯Websocket

    /** * Created by admin on 2017/8/19. */ // import Vue from 'vue' // import axios from './HTTP.js' // ...

  5. 谷歌浏览器升级引起的BUG

    问题描述:在谷歌浏览器中,电脑打开A系统,添加附件时无法弹框. 预期结果:添加附件,可以打开弹框. 问题分析:谷歌浏览器自动升级,自55.0.2883.75后发布的新版本均自动停用Flash插件. 解 ...

  6. wamp memcache 的安装与扩展(Windows 64)

    一.windows操作系统下的memcache安装 1.此处提供32位的安装包链接,如果需要64位的应该可惜查得到.将下载的压缩包解压到自己确定的安装目录,我的参考如下: 2.为了安装顺利,所以需要以 ...

  7. TVTK库的安装

    1.在网址为:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 里下载以下内容: VTK-7.1.1-cp36-cp36m-win_amd64.whlnumpy-1 ...

  8. Android工程运用阿里freeline10秒快速编译分享

    git地址:https://github.com/alibaba/freeline 目前已经更新到0.6.0版本. 原来编译一次需要几分钟甚至几十分钟的android工程,运用freeline,1分钟 ...

  9. 95. 不同的二叉搜索树 II

    95. 不同的二叉搜索树 II 题意 给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树. 解题思路 这道题目是基于不同的二叉搜索树进行改进的: 对于连续整数序列[left, ri ...

  10. git 创建SSH key

    可以自己搭建一台运行Git的服务器,不过现阶段,为了学Git先搭个服务器绝对是小题大作.好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要 ...