学习资料|SSH隧道端口转发功能详解

这篇具有很好参考价值的文章主要介绍了学习资料|SSH隧道端口转发功能详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概念

ssh隧道大致可以分为3种,分别为本地端口转发,远程端口转发,动态端口转发,本文将让你彻底搞懂这3个转发的命令表达形式,让你能够灵活运用解决生活中的各种特殊场景。

如果你正在使用mobaxterm、xshell、secureCRT、putty这类工具,可直接可视化界面简单配置即可使用,若你没有使用工具,通过本教程可直接通过命令进行隧道转发。

xshell隧道转发,笔记,SSL,Powered by 金山文档

应用场景

针对部分企业或者个人为了安全只允许ssh登录堡垒机或者防火墙允许的机器访问内部的一些服务。主要作用在于加密 SSH Client 端至 SSH Server 端之间的通讯数据,突破防火墙的限制完成一些之前无法建立的 TCP 连接。

例如:一个互联网用户需要访问公司内网服务器,该服务器不对外提供服务,只是对于管理需要,在防火墙上开了ssh映射端口用于管理内网服务器。对于内网服务器上其它服务的访问无法直接访问的。现有一些需求:

1、需要访问内网服务器的一个web服务;

2、通过内网服务器再访问内网的其他web服务;

3、需要挂内网端口代理进行使用,比如聊天工具使用的SOCK5代理流量交给内网的某个代理进行处理(自行脑补)。

4、本地的一个临时web服务需要通过vps临时让对外访问。

5、突破防火墙,达到内网穿透的效果。

三个ssh安全隧道端口转发详解

1、本地端口转发

连接从客户端主机转发到SSH服务器主机,然后转发到目标主机端口。

语法:

ssh -g -N -L -f [本地端口]:[远程IP]:[远程端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]

举个栗子:

ssh -g -N -L -f 9999:192.168.100.100:80 root@www.test.com -p 22

输入命令之后才会让你输入ssh的连接密码,上面的命令意思是,访问本机电脑的 http://本地IP:9999 可以直接访问到远程机器的 http://192.168.100.100:80所在的web服务。

参数说明:

-g:开启网关,表示访问本地的所有IP地址都可以;
-N:表示创建隧道以后不连接到 ssh服务端,连接之后界面会直接卡住,若你要建立之后并连接ssh服务端操作,可以直接取消本参数;
-L:表示local,本地端口转发;
-f:表示在后台运行,注意在后台运行只能通过杀进程的方式结束
9999:192.168.100.100:80:这个表示[本地端口8888]:[远程IP192.168.100.100]:[80];
root@www.test.com -p 22:使用root用户连接 www.test.com 的ssh服务,ssh端口是22,若你不是22端口则需要修改;

上面命令实现了和 mobaxterm 一样的功能如下:

xshell隧道转发,笔记,SSL,Powered by 金山文档

2、远程端口转发

将端口从服务器主机转发到客户端主机,然后转发到目标主机端口。

语法:

ssh -g -N -R -f [远程端口]:[目标机器IP]:[目标机器端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]

举个栗子:

ssh -g -N -R -f 9999:localhost:80 root@www.test.com -p 22

输入命令之后才会让你输入ssh的连接密码,上面的命令意思是,访问ssh所在机器的9999端口,相当于访问了目标机器的 localhost:80 所在的web服务。这里需要注意,默认ssh只会绑定端口在127.0.0.1换回地址上面,若需要绑定到所有 IP,需要在远程机器 sshd 配置文件中打开GatewayPorts:on

参数说明:

-g:开启网关,表示访问本地的所有IP地址都可以;
-N:表示创建隧道以后不连接到 ssh服务端,连接之后界面会直接卡住,若你要建立之后并连接ssh服务端操作,可以直接取消本参数;
-R:表示remote,远程端口转发;
-f:表示在后台运行,注意在后台运行只能通过杀进程的方式结束
9999:localhost:80:这个表示[远程端口9999]:[目标IPlocalhost]:[80];
root@www.test.com -p 22:使用root用户连接 www.test.com的ssh服务,ssh端口是22,若你不是22端口则需要修改;

上面命令实现了和 mobaxterm 一样的功能如下:

xshell隧道转发,笔记,SSL,Powered by 金山文档

3、动态端口转发(SOCKS代理)

创建SOCKS代理服务器,该服务器允许跨多个端口进行通信。

无论是本地端口转发还是远程端口转发,都是将某固定主机及其端口映射到本地或远程转发端口上,也就是说,本地或远程转发端口和目标端口所代表的应用层协议是一对一的关系,若需要讲一个聊天软件所有流量代理都交由ssh远程服务器进行中转的话,一个一个的映射软件所需要的端口就比较麻烦,那么我们就可以使用第三种方式动态端口转发,由ssh自动判断不同协议的请求作不同的处理。

语法:

ssh -g -N -D -f [本地监听端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]

举个栗子:

ssh -g -N -D -f 9999 root@www.test.com -p 22

输入命令之后才会让你输入ssh的连接密码,上面的命令意思是,在本地开启一个socks端口9999进行监听,只要代理这个端口的流量都会被转发到ssh远程服务器上进行通过。

在使用代理的时候需要客户端手动设置,比如QQ、微信、tg都有相应的位置设置代理,请大家自行探索更多好玩的。

上面命令实现了和 mobaxterm 一样的功能如下:

xshell隧道转发,笔记,SSL,Powered by 金山文档

总结

创建隧道时的常用参数及含义如下:

“-L选项”:表示使用本地端口转发创建ssh隧道

“-R选项”:表示使用远程端口转发创建ssh隧道

“-D选项”:表示使用动态端口转发创建ssh隧道

“-N选项”:表示创建隧道以后不连接到 sshServer 端,通常与”-f”选项连用

“-f选项”: 表示在后台运行ssh隧道,通常与”-N”选项连用

“-g选项”:表示ssh隧道对应的转发端口将监听在主机的所有 IP 中,不使用“-g选项”时,转发端口默认只监听在主机的本地回环地址中,“-g选项”表示开启网关模式,远程端口转发中,无法开启网关功能,只能通过修改远程机器的 sshd 配置文件中的 GatewayPorts:on 参数实现绑定所有IP。

1、创建本地端口转发命令参考:

复制

ssh -g -N -L -f [本地端口]:[远程IP]:[远程端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]

2、创建远程端口转发命令参考:

复制

ssh -g -N -R -f [远程端口]:[目标机器IP]:[目标机器端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]

3、创建动态端口转发命令参考:

ssh -g -N -D -f [本地监听端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]

参考文章

SSH隧道端口转发功能详解
SSH隧道:端口转发功能详解
SSH 隧道简明教程
ssh隧道及转发技术应用场景三例
如何配置SSH端口转发
ssh端口转发:ssh隧道

本文仅限于学习使用,切勿其他用途,文中的部分参阅网上资料都写与参考文献中。如有侵权删。文章来源地址https://www.toymoban.com/news/detail-695658.html

到了这里,关于学习资料|SSH隧道端口转发功能详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • zkrollup学习资料汇总

    FluiDex FluiDex Labs 致力于构建下一代专业的去中心化交易所。我们将在以太坊上使用 PLONK 零知识证明技术,开发高性能的订单簿数字资产现货交易所。 zksync: 最完整的 ZK-Rollup 开源项目代码,涵盖了一个 ZK-Rollup 系统需要的每个组件。使用 PLONK 机制,电路代码使用 bellman,链下

    2024年02月12日
    浏览(48)
  • 0.flink学习资料

    (1)google dataflow model 下载链接:p1792-Akidau.pdf (vldb.org) Akidau T, Bradshaw R, Chambers C, et al. The dataflow model: a practical approach to balancing correctness, latency, and cost in massive-scale, unbounded, out-of-order data processing[J]. Proceedings of the VLDB Endowment, 2015, 8(12): 1792-1803 流式计算的基石文档,google出品

    2024年02月12日
    浏览(50)
  • 以太坊入门学习资料

    区块链按照访问和管理权限分为公有链、联盟链和私有链。 公有链:完全开放,所有节点均可加入,代表链-比特币Bitcoin、以太坊Ethereum。 联盟链:有多个组织和机构共同管理,获得组织和机构许可的节点可以加入,代表链-超级账本Hyperledger Fabric。 私有链:获得集中管理者

    2024年02月02日
    浏览(56)
  • 机器学习 深度学习资料 资源machine learning

    Kaggle入门,看这一篇就够了 - 知乎 (zhihu.com) https://zhuanlan.zhihu.com/p/25686876 day1-1.什么是机器学习_哔哩哔哩_bilibili day1-1.什么是机器学习是10天学会机器学习从入门到深度学习的第1集视频,该合集共计62集,视频收藏或关注UP主,及时了解更多相关视频内容。 https://www.bilibili.com

    2024年02月21日
    浏览(52)
  • linux存储技术学习资料

    https://www.cnblogs.com/pengdonglin137/p/16525428.html Linux内核的I/O栈大图 知乎Linux I/O专栏1 Linux 块设备之Block Layer层架构演变 Linux VFS机制简析(一) Linux VFS机制简析(二) Linux Kernel文件系统写I/O流程代码分析(一) Linux Kernel文件系统写I/O流程代码分析(二)bdi_writeback linux问题调查工具

    2024年02月06日
    浏览(56)
  • DPDK相关学习资料汇总

    经常有新报道的童鞋问我,学习DPDK有哪些资料或者书籍可以看,今天我先来汇总一波,后面会持续更新: 1. DPDK官方网站:https://www.dpdk.org/和http://core.dpdk.org/doc/,官方网站提供DPDK的最新版本代码、文档和实例程序下载,同时也发布DPDK的最新版本更新和重大改进。 2. DPDK Git

    2024年02月08日
    浏览(62)
  • 小程序的学习资料收集

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1476434677599 3:设计指南:https://mp.weixin.qq.com/debug/wxadoc/design/index.html 4:设计资源下载:https://mp.weixin.qq.com/debug/wxadoc/design/#资源下载 5:微信小程序公测接入指南:http://

    2024年02月08日
    浏览(50)
  • 空间分析专属 Python 学习资料

    空间数据分析能够帮助我们更好地理解地理空间中的模式和关系,从而为决策提供支持。例如,城市规划者可以使用空间数据分析来确定城市发展的最佳方向,环境科学家可以使用空间数据分析来评估污染的影响,而商业分析师可以使用空间数据分析来确定最佳的商业区位。

    2024年02月12日
    浏览(42)
  • MPI学习网站和资料

    1. MPI 文档 (1)https://rookiehpc.org/mpi/docs/index.html (2)Open MPI v4.1.6 documentation 2. MPI练习题 (1)MPI Exercises (2)Tutorials · MPI Tutorial 3. 推荐书籍 Parallel Programming with MPI Using MPI - 3rd Edition Using Advanced MPI - 1st Edition 高性能计算之并行编程技术—— MPI并行程序设计

    2024年01月22日
    浏览(76)
  • 学习C++资料集合

    适合学生学习时能够方便的在浏览器里直接编c++程序 黑马机器人—C++ 鸡啄米:C++编程入门系列之目录和总结 ++98基础上学习C++11新特性 Effective Modern C++ C++ 入门教程 鱼C工作室 C++快速入门 C++ Primer 5 代码 C++设计成这样的原因 《C++演化和设计》 boost库学习 C++17 High Performance C++

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包