当前位置: 首页 > news >正文

SSH命令建立隧道

目录

一、本地端口转发

二、远程端口转发

三、动态端口转发


一、本地端口转发

ssh -C -T -N -L [本地IP:]本地端口:远程IP:远程端口 用户名@SSH服务器#-C:启用压缩。SSH 会尝试通过压缩数据来减少在客户机和服务器之间传输的数据量。这可能会提升在低速网络连接上的性能。
#-T:不分配伪终端。通常 ssh 在登录是会创建一个远程 shell 会话,使用 -T 选项后,不会创建这个 shell。
#-N:不执行远程命令。该选项告诉 SSH 客户端连接到服务器后不需要执行命令,仅仅建立端口转发。
#-L:表示要创建的是本地端口转发。
#[本地IP:]:本地监听的IP地址,通常是 localhost 或者留空。
#本地端口:本地机器上要监听的端口号。
#远程IP:要连接的远程机器的IP地址,相对于SSH服务器来说。
#远程端口:远程机器上的端口号。
#用户名@SSH服务器:SSH连接信息,包括用户名和SSH服务器地址。

例:

       通过 SSH 安全地连接到公司网络中的一个web服务,该web服务在 192.168.1.100 的 80 端口运行,并且这个服务不对外公开。你在家里,想通过 localhost 的 8080 端口来访问这个web服务。

# 通过访问本地的 8080 端口,将请求转发到192.168.1.100:80上,
ssh -C -T -N -L 8080:192.168.1.100:80 user@ssh.company.com

二、远程端口转发

ssh 命令使用 -R 选项建立一个反向隧道(Reverse Tunnel),将远程服务器(30.178.34.48)上的一个端口(23456)转发到本地网络(10.88.70.65)上的一个端口(22,即SSH端口)。

ssh -C -T -N -R 30.178.34.48:23456:10.88.70.65:22   -p 9001 daboluo@30.178.34.48
-C:启用压缩。SSH 会尝试通过压缩数据来减少在客户机和服务器之间传输的数据量。这可能会提升在低速网络连接上的性能。
-T:不分配伪终端。通常 ssh 在登录是会创建一个远程 shell 会话,使用 -T 选项后,不会创建这个 shell。
-N:不执行远程命令。该选项告诉 SSH 客户端连接到服务器后不需要执行命令,仅仅建立端口转发。-R 30.178.34.48:23456:10.88.70.65:22:这是建立反向隧道的关键参数:-R:表示创建反向隧道。23456:这是远程服务器(30.178.34.48)上SSH服务将监听的端口。远程主机上的其他用户或程序可以通过这个端口访问隧道。10.88.70.65:这是需要转发到的本地机器的IP地址,它位于SSH客户端(执行此命令的计算机)所在的网络中。22:这是本地机器上的端口,通常是SSH服务的默认端口。-p 9001:这指定了远程服务器(30.178.34.48)上的SSH服务所监听的端口号(9001)。daboluo@30.178.34.48:这指定了远程服务器的用户名(daboluo)和地址(30.178.34.48)。换句话说,这条命令会建立一个SSH连接到30.178.34.48上名为qinwei的用户。

       综上所述,在远程服务器(30.178.34.48)上使用SSH连接到本地端口23456时,流量会通过一个安全的隧道被转发到执行该SSH命令的本地网络(10.88.70.65)上的22号端口。

下面是一个使用场景的例子:
       假设你在办公室的计算机(IP:10.88.70.65)上运行了这条SSH命令,并且这台计算机在本地网络中运行着SSH服务器。你现在想让家里的服务器(30.178.34.48)能够连接到办公室的计算机,但办公室的网络是由防火墙保护的,且不对外开放22号端口。你可以建立一个反向隧道,这样就可以从家里的服务器上SSH到 30.178.34.48 的23456端口来安全地访问办公室的计算机。

三、动态端口转发

ssh -D 本地端口 用户名@SSH服务器-D:表示要创建的是动态端口转发(类似于SOCKS代理)。
本地端口:本地机器上的端口号。
用户名@SSH服务器:SSH连接信息,包括用户名和SSH服务器地址。

例:

# 在浏览器的代理设置中配置SOCKS代理,指向 localhost 的 8080 端口。将请求转发到目标服务器上。
ssh -D 8080 user@ssh.company.com
http://www.dtcms.com/a/469895.html

相关文章:

  • [GazeTracking] 依赖项管理 | Docker化执行环境
  • uniapp web-view相互通信方法
  • (2)Kafka架构原理与存储机制
  • uniapp学习【项目创建+项目结构解析】
  • 虚拟机所需的硬件功能在目标主机上不受支持或已禁用:*长模式:对于支持64位客户机操作系统而言是必需的。
  • Uniapp微信小程序开发:http请求封装。
  • 个人可以做商城网站吗合肥制作网站价格
  • 网站制作的前期主要是做好什么工作网站的构思
  • java每小时调动一次,生成任务,基于corn表达式动态调动任务执行
  • 网站模板兼容手机端市场推广是做什么的
  • 企业微信防封防投诉拦截系统:从痛点解决到技术实现
  • vue的组件通信
  • 掌握PINN:从理论到实战的神经网络进阶!!
  • wordpress thremeseo推广排名软件
  • 安平县哪里做网站建立公司网站视频
  • PostgreSql ALL 与 ANY 区别
  • 解决 husky > pre-commit hook failed (add --no-verify to bypass)
  • 模拟器抓包
  • (数据结构)线性表(下):链表分类及双向链表的实现
  • 阿里云短信服务配置说明
  • Java+SpringBoot+Dubbo+Nacos快速入门
  • 【开题答辩全过程】以 办公管理系统为例,包含答辩的问题和答案
  • 天创网站做网站 数据标准
  • 做除尘骨架的网站网页一般用什么语言编写
  • SciPy 常量模块
  • 记录一次在Win7系统中使用C#中的HttpWebRequest连接缓慢、超时等问题(httpclient和restsharp也存在同样的问题)
  • Spring Boot 3零基础教程,Spring Intializer,笔记05
  • spring boot 2.x 与 spring boot 3.x 及对应Tomcat、Jetty、Undertow版本的选择(理论)
  • 织梦 网站栏目管理 很慢国内免费域名申请
  • 建设企业网站的好处是什么门户网站建设的成果