2019独角兽企业重金招聘Python工程师标准>>>

SSH的的Port Forward,中文可以称为端口转发,是SSH的一项非常重要的功能。它可以建立一条安全的SSH通道,并把任意的TCP连接放到这条通道中。下面仔细就仔细讨论SSH的这种非常有用的功能。

SSH Tunnel有三种,分别是本地Local(ssh -NfL),远程Remote(ssh -NfR),动态Dynamic(ssh -NfD)。(含义参考man ssh)

说明:在我们举例说明用法之前,先假设你有一台SSH机器,它的IP是a.b.c.d。

1:本地Local(ssh -NfL)

ssh -L <local port>:<remote host>:<remote port> <SSH hostname>

ssh -NfL a.b.c.d:1234:www.google.com:80 a.b.c.d

此时,在浏览器里键入:http://a.b.c.d:1234,就会看到Google的页面了。

在绑定1234端口的时候,可以省略前面的ip,如此一来,1234端口就仅仅绑定在localhost地址上,更安全:

ssh -NfL 1234:www.google.com:80 a.b.c.d

此时浏览的话就要在a.b.c.d机器上使用http://localhost:1234了。

何时使用本地Tunnel?

比如说你在本地访问不了某个网络服务(如www.google.com),而有一台机器(如:a.b.c.d)可以,那么你就可以通过这台机器来访问。

2:远程Remote(ssh -NfR)

ssh -R <local port>:<remote host>:<remote port> <SSH hostname>

在需要被访问的内网机器上运行: ssh -NfR 1234:localhost:22 a.b.c.d

登录到a.b.c.d机器,使用如下命令连接内网机器:

ssh -p 1234 localhost

需要注意的是上下两个命令里的localhost不是同一台。这时你会发现自己已经连上最开始命令里的localhost机器了,也就是执行“ssh -NfR”的那台机器。

何时使用远程Tunnel?

比如当你下班回家后就访问不了公司内网的机器了,遇到这种情况可以事先在公司内网的机器上执行远程Tunnel,连上一台公司外网的机器,等你下班回家后 就可以通过公司外网的机器去访问公司内网的机器了。

3:动态Dynamic(ssh -NfD)-Socket代理

ssh -D

ssh -NfD 1234 a.b.c.d

a.b.c.c 是server 地址

如此一来就建立了一台Socket代理机器,接着在浏览器上设置Socket代理:地址是localhost,端口是1234,从此以后,你的访问都是加 密的了!你可以通过访问WhatIsMyIP来 确认自己现在的IP,看看是不是已经变成a.b.c.d了。

测试阶段,也可以把端口绑定在外网地址上,如此一来,你在浏览器上就可以使用外网地址设置Socket代理,但这仅限于测试,否则,你的机器就不安全了, 随时可能成为肉鸡。对于Windows用户来说,如果讨厌命令行,还可以使用MyEnTunnel来实现同样的功能,配合Firefox的 FoxyPorxy,基本就无敌了,至于具体的配置方法,小崔已经写好了:使用Firefox+foxyProxy+SSH翻山越岭。如果你使用的是Chrome的话,则可以选择 Proxy Switchy!来实现同样的效果,恕不多言。

转载于:https://my.oschina.net/u/2935389/blog/869060

SSH Tunnel扫盲(ssh port forwarding端口转发)相关推荐

  1. SSH端口转发Forwarding及隧道Tunneling

    目录 概述 环境及术语约定 本地转发 远程转发 动态转发 多级转发 概述 我们先来了解一下端口转发的概念吧.我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据.但是,SSH ...

  2. ssh远程端口转发到本地_Linux SSH隧道或端口转发本地和远程端口的示例?

    ssh远程端口转发到本地 Ssh protocol secures remote connections which are shell or terminal-based to the remote ...

  3. SSH的端口转发:本地转发Local Forward和远程转发Remote Forward

    http://zhumeng8337797.blog.163.com/blog/static/100768914201172125444948/ 实战 SSH 端口转发 https://www.ibm ...

  4. SSH隧道技术----端口转发,socket代理

    原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...

  5. 建立SSH隧道(SSH端口转发)

    ssh隧道功能,也就是端口转发功能非常好用,可以实现一些代理功能或者是穿透内网功能. ssh的端口转发(或者叫做隧道)命令分为三种: 本地:ssh -C -f -N -g -L listen_port ...

  6. linux远程ipv6端口,SSH端口转发笔记(ipv6 与 端口映射)

    端口转发概念 端口转发或隧道,是一种通过SSH转发本来不安全的TCP通信的安全保护罩.您可以保护例如POP3,SMTP和HTTP连接,否则可能是不安全的.网络上什么人都有! 有两种类型的端口转发:本地 ...

  7. 一文彻底搞懂ssh的端口转发

    文章目录 背景 什么是端口转发? 本地端口转发 本地端口转发的语法 场景1 场景二 ssh -L参数解释 ssh 远程端口的安全问题 远程端口转发 远程端口转发的语法 场景一 远程端口转发和本地端口转 ...

  8. ssh服务端口转发详解

    端口转发的概念和应用 什么是端口转发呢,我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据.但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发.它能够将其他 TCP ...

  9. linux上用的端口转发工具,Linux中的快速端口转发工具—rinetd

    这两天和同事讨论问题的时候知道了一个很好用的NAT工具-rinetd,它是由c实现的一个短小.实用的NTA转发工具,它的官网是在:http://www.boutell.com/rinetd/[root ...

最新文章

  1. 电力管理信息系统数据库表总结
  2. android lottie字体json,lottie-android
  3. 使用 Azure Web 应用防火墙拦截黑客攻击
  4. 康轩职教计算机应用基础课件,《Excel中IF函数的应用-机器人任务》计算机应用基础职教课件.ppt...
  5. Servlet的介绍
  6. CISCO路由器NAT-T与IPSec ×××配置实验【实践闯未来】
  7. SAP财务管理大全-采购收货-标准成本法 移动平均价
  8. 易语言学习笔记(1)
  9. win10taskkill强行结束进程_win10系统强制结束进程命令的方案
  10. RabbitMQ的ack与nack
  11. 100923G-Por Costel and the Orchard
  12. 爱普生打印机无法正常工作的解决方法
  13. 用计算机制作思维导图,想用电脑做好思维导图你得先了知道这些事
  14. 【pion】ice-single-port解析
  15. 89元尝鲜智能家居 天猫精灵方糖智联3件套简评
  16. 高通发布骁龙 695、778G+、480+、680 4G 四款芯片
  17. MJ“点击或上拉加载更多”问题
  18. 【XJTUSE软件项目管理复习笔记】 第二章 软件项目整体管理
  19. Android 开发--多渠道打包实现
  20. 白帽子,强大的XSS钓鱼漏洞,怎么获取用户的真实ip

热门文章

  1. 安装CocoaPods常见命令
  2. 20150310-删除数组中原有对象
  3. 【USACO】回文平方数
  4. Confluence 6 数据收集隐私策略
  5. 我们奋斗着并将持续奋斗 ----暨清华D-Lab创新基地揭牌仪式
  6. 自动化测试 (四) 自动卸载软件
  7. 广告贴:本周六的SharePoint技术交流会
  8. 我写项目的思路和“自然架构”
  9. screen中文乱码问题的解决
  10. python应用举例_python基础举例应用