iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux ssh端口转发的三种方式
  • 224
分享到

linux ssh端口转发的三种方式

linuxssh端口转发ssh端口转发linuxssh端口 2022-06-04 23:06:14 224人浏览 八月长安
摘要

ssh是我使用最频繁的两个命令行工具之一(另一个则必须是vim)。有了ssh,我可以远程处理各种可能出现的问题而无需肉身到现场。 这几天teamviewer被黑的事情影响挺大,于是由远程控制想到了内网穿透,自然而然的想到

ssh是我使用最频繁的两个命令行工具之一(另一个则必须是vim)。有了ssh,我可以远程处理各种可能出现的问题而无需肉身到现场。

这几天teamviewer被黑的事情影响挺大,于是由远程控制想到了内网穿透,自然而然的想到了ssh的端口转发也能实现内网穿透。再细想一下,发现ssh隧道、或者说端口转发,竟然实现了正向代理、反向代理和内网穿透三种常用的网络功能,更佩服其功能的强大和使用中的便利。

ssh有三种端口转发模式,本文一一对其做简要介绍。

本地转发

本地端口转发(Local Port Forwarding),是将本地主机某个端口流量转发到远程主机的指定端口。其命令行语法是:-L [bind_address]:localport:[remote_host]:remote_port。”-L”即“local”的首字母,类似的远程转发的”-R”是“remote”的首字母,动态转发的“-D”是“dynamic”的首字母,很好记。

举一个例子说明本地转发的使用场景。

Centos 7安装GrzoNXYktOZUI界面及远程连接一文中介绍了安装vnc服务并开启端口访问。在实际中,暴露出来的59xx端口每天都会源源不断的受到自动化脚本的爆破攻击。如果你的vnc和登录用户使用弱密码或字典密码,主机安全将受到极大威胁。这种情形下该如何防护?

一种简单安全的防护方法是:使用iptables/firewalld关闭端口的外网访问,有连接需求时用ssh隧道转发端口:


ssh -L5901:5901 username@host

该命令中将本地的5901端口通过ssh隧道转发到远程主机的5901端口,远程连接时输入localhost或者127.0.0.1和5901端口便连到了远程主机的5901端口。通过iptables和ssh的本地转发,实现了他人无法连接,只有自己才能访问的目的。

需要注意的是“-L”选项中的“远程主机”并不特指连接过去的机器(默认是连接上的机器),可以是任何一主机。例如可以将本机的8080端口流量转发到facebook.com的80端口:


ssh -L8080:facebook.com:80 username@host

远程转发

远程端口转发(Remote Port Forwarding),是将远程主机某个端口转发到远程主机的指定端口。其命令行语法是:-R [bind_address]:port:[local_host]:local_port。

远程转发最常用的功能是内网穿透。有一个公网ip的主机,便可以借助ssh隧道的远程转发实现内网渗透,达到外网访问内网资源的目的。需要注意的是ssh远程转发默认只能绑定远程主机的本地地址,即127.0.0.1。如果想要监听来自其他主机的连接,需要修改远程主机ssh的配置,将”GatewayPorts”改成“yes”,重启ssh后生效。

一个将远程的8080端口流量转发到本地80WEB端口的示例:


ssh -R0.0.0.0:8080:80 username@host

通过远程转发,访问公网ip主机的8080端口便是访问内网web主机的80端口,这样就实现了内网穿透。

动态转发

无论本地转发还是远程转发,都需要指定本地和远程主机的端口。动态转发(Dynamic Port Forwarding)则摆脱这种限制,只绑定本地端口,远程主机和端口由发起的请求决定。动态转发的语法是:”-D bind_address:port”,一个转发示例:


ssh -D 8080 username@host

该命令让ssh监听本地808rzoNXYktOZ0端口,经过8080端口的流量都通过ssh隧道由远程服务器代为请求,从而达到获取被屏蔽资源、隐藏真实身份的目的。

动态转发实际上实现了正向代理功能,因此可以用来科学上网。本地转发也可以做正向代理,但要对每一个请求的主机和端口做转发,比较繁琐,实践中不会这么用。

其它

  1. 从用户端角度看,本地转发是正向代理;从资源提供方角度看,本地转发是反向代理;
  2. ssh连接断开远程转发/内网渗透便失效。如果希望远程转发一直有效,需要ssh保活技术,建议用frp等专注于内网渗透的解决方案;
  3. 虽然ssh隧道中的流量都经过了加密,但防火墙对ssh隧道中承载的流量能比较智能的识别,因此用作科学上网很容易受到干扰;
  4. 如果仅做端口转发,实践中上述命令经常与”-NT -f”选项结合使用。其中”-f”选项将命令放入后台执行,断开连接需要用kill命令;
  5. 从代理角度看,ssh隧道是低效的,建议用专用软件;
  6. ssh隧道的流量都经过了加密,从安全角度是十分可靠的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

--结束END--

本文标题: linux ssh端口转发的三种方式

本文链接: https://www.lsjlt.com/news/20668.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SSH 端口转发
    SSH 端口转发 本文用于记录一下 SSH 端口转发功能的学习笔记,以做备忘,主要参考文章如下: 彻底搞懂SSH远程转发命令SSH端口转发An Illustrated Guide to SSH Tun...
    99+
    2023-09-02
    服务器 ssh 网络
  • Linux下SSH登录的三种方式
    SSH登录 SSH密钥登录:SSH默认采用密码登录,这种方法有很多缺点,简单的密码不安全,复杂的密码不容易记忆,每次手动输入也很麻烦。密钥登录是更好的解决方案。接下来介绍三种SSH的登录方式。 一:SSH口令登录 1 登录原理 SS...
    99+
    2023-09-04
    ssh linux 服务器 Powered by 金山文档
  • Linux下的SSH端口转发配置的方法介绍
    本篇内容介绍了“Linux下的SSH端口转发配置的方法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!通常情况下两个不同的网络之间总会开放...
    99+
    2023-06-13
  • ssh端口转发怎么用
    这篇文章给大家分享的是有关ssh端口转发怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 本地端口转发首先在本地主机运行:格式ssh -L local-port:target-host...
    99+
    2023-06-22
  • SSH端口转发在Linux SysOps中的应用与实现
    SSH端口转发在Linux SysOps中有很多应用和实现方式。应用:1. 安全访问内部资源:通过SSH端口转发,可以安全地访问位于...
    99+
    2023-10-09
    Linux
  • Django修改端口号与地址的三种方式
    目录前言一、命令行方式二、配置文件方式三、PyCharm 方式总结前言 在启动 Django 项目时,Django 默认监听的端口号为 8000,设置的默认 IP 地址为 127.0...
    99+
    2023-02-23
    django 端口号 django修改地址 django端口修改
  • Python反转列表的三种方式
    方式一:使用reversed()函数 a=[1,2,3,4,5,6,7,8,9] b=list(reversed(a)) print b 注意:reversed()函数返回的是一个迭代器,而不是一个List,需要再使用List函数转换一下...
    99+
    2023-01-31
    三种 方式 列表
  • linux的端口转发是怎样的
    这篇文章主要为大家分析了linux的端口转发是怎样的的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“linux的端口转发是怎样的”的知识吧。方法:1、用SSH...
    99+
    2023-06-29
  • sql触发器的三种触发方式
    sql 触发器的触发方式有:before:在数据修改前触发,用于强制业务规则。after insert:在插入新行后触发,用于向其他表添加或更新数据。after update:在更新现有...
    99+
    2024-04-13
  • 实现 Java 平台的三种方式(转)
    实现 Java 平台的三种方式(转)[@more@]实现 Java 平台的三种方式广泛地说,只要能执行 Java bytecode 者,就可以称为 Java 平台(Java platform)。大致上,实现 Java 平台的方式有三种,分别...
    99+
    2023-06-03
  • Linux开机自启的三种方式
    在/etc/rc.local文件中添加自启动命令   ​​​​​​​2、在/etc/init.d目录下添加自启动脚本 Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可...
    99+
    2023-08-31
    linux 运维 服务器
  • linux端口转发怎么配置
    这篇文章主要介绍“linux端口转发怎么配置”,在日常操作中,相信很多人在linux端口转发怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux端口转发怎么配置”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-29
  • CMD查杀端口的两种方式
    目录第一种:netstat -ano第二种:netstat -aon|findstr “8081”这篇博客以杀掉8081为案例 端口占有对于初学程序的小伙伴们...
    99+
    2024-04-02
  • Linux下端口转发常用方法有哪些
    这篇文章主要为大家展示了“Linux下端口转发常用方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下端口转发常用方法有哪些”这篇文章吧。端口转发服务是由一组端口转发规则定义的策...
    99+
    2023-06-28
  • PHP 接收前端文件后 转发给第三方接口
    因为各种原因需要,目前有这个需求。php需要接收前端传过来的文件,然后包装成文件流发送到第三方接口,等于是php做一个中转的作用。网上查了很多资料或多或少都有点问题,这里记录一下方便以后自己查看。 第三方java端的接收参数是:@Re...
    99+
    2023-09-01
    php
  • MySQL 修改端口(两种方式)
    如果安装的mysql有my.ini文件,可以再文件中找到port修改 如果安装的mysql没有my.ini, 找到快捷访问    1) Reconfigure 可以修改设定好的参数  2)直接修改端口  来源地址:https://b...
    99+
    2023-09-12
    mysql 数据库 java
  • Springboot打印接口的三种方式分享
    目录1 aop切面的方式 1.1 实现思路1.2 代码实现1.3 功能测试2 过滤器的方式3 拦截器的方式1 aop切面的方式  1.1 实现思路 引入aop依赖...
    99+
    2022-11-13
    Springboot打印接口方式 Springboot打印接口的
  • Linux中怎么实现端口转发
    这篇文章将为大家详细讲解有关Linux中怎么实现端口转发,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. SSH 端口转发SSH 提供了一个非常有意思的功能,就是端口转发,它能够将其他 T...
    99+
    2023-06-15
  • Linux下常见的端口转发有哪些
    今天小编给大家分享一下Linux下常见的端口转发有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. SSH 端口转发S...
    99+
    2023-06-28
  • MySQL字符串转数字三种方式
    MySQL数据表t的c1列是varchar字符串类型,存储如下记录, 如果按照"T+数字"中的"数字"排序,常规的操作order by c1,执行是错误的,实际上按照字符串的ASCII排序的, select * from ...
    99+
    2023-09-08
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作