首页 > 其他分享 >SSH反向隧道的工作原理

SSH反向隧道的工作原理

时间:2024-06-14 23:54:09浏览次数:28  
标签:隧道 端口 Nginx 反向 SSH 8080 ssh

让我们详细解释一下整个过程,以便更好地理解SSH反向隧道和Nginx反向代理的工作原理。

1. SSH反向隧道的工作原理

当你运行以下命令时:

ssh -N -R 8080:localhost:3000 [email protected]

你正在告诉SSH客户端在远程服务器(ssh.englishspeaking.icu)上监听8080端口,并将所有到达这个端口的流量转发到本地机器的3000端口。

2. Nginx反向代理的工作原理

Nginx反向代理配置如下:

server {
    listen 80;
    server_name ssh.englishspeaking.icu;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

这个配置告诉Nginx在ssh.englishspeaking.icu的80端口监听所有HTTP请求,并将这些请求转发到localhost:8080

整个请求流的详细解释

  1. 客户端发起请求

    • 用户在浏览器中访问http://ssh.englishspeaking.icu
  2. Nginx接收请求

    • 服务器上的Nginx监听80端口,接收到这个请求。
  3. Nginx反向代理到本地8080端口

    • Nginx将请求转发到localhost:8080。在这个上下文中,localhost指的是远程服务器ssh.englishspeaking.icu
  4. SSH反向隧道接收请求

    • 由于我们之前配置了SSH反向隧道,远程服务器的8080端口实际上被映射到本地机器的3000端口。
    • 所以,当Nginx将请求转发到localhost:8080时,SSH会将这个请求转发到本地机器的3000端口。
  5. 本地服务处理请求

    • 本地机器上的服务(监听3000端口的服务)接收到请求并处理它,然后将响应发送回SSH隧道。
  6. 响应返回客户端

    • 响应通过SSH隧道返回到远程服务器的8080端口。
    • Nginx接收到从8080端口返回的响应,并将其发送回客户端的浏览器。

总结

  • SSH反向隧道:将远程服务器的端口(8080)映射到本地机器的端口(3000)。
  • Nginx反向代理:将来自80端口的请求转发到远程服务器的8080端口。

通过这种方式,用户可以通过访问http://ssh.englishspeaking.icu来间接访问本地机器上的服务(监听3000端口的服务),而不需要直接暴露本地网络。

标签:隧道,端口,Nginx,反向,SSH,8080,ssh
From: https://www.cnblogs.com/wangshushuo/p/18248857

相关文章

  • Linux openSSH 只能够使用SFTP 不能使用ssh登陆
    实施目标:1. 用户只能通过sftp访问,不能登录SSH2.用户要被锁定在特定的目录下,没有读写其它目录的权限 下面开始:首先修改sshd的配置文件:#vim/etc/ssh/sshd_config将该文件的末尾修改如下:#Subsystem sftp /usr/lib/openssh/sftp-server#该行(上面这行)注释掉Subsystem sftp......
  • SSH实践生成密码
    $ssh-keygen-trsa-P''-f~/.ssh/id_rsa$cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys$chmod0600~/.ssh/authorized_keys-t:指定生成密钥类型(rsa、dsa、ecdsa等)-P:指定passphrase,用于确保私钥的安全-f:指定存放密钥的文件(公钥文件默认和私钥同目录下,不同的是,存......
  • ssh 链接 错误问题处理
    [email protected]提示:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WARNING:REMOTEHOSTIDENTIFICATIONHASCHANGED!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ITISPOSSIBLETHATSOMEONEISDOINGSOMETHINGNAST......
  • 振弦采集仪在隧道工程中的安全监测与控制研究
    振弦采集仪在隧道工程中的安全监测与控制研究隧道工程的安全监测与控制是保障隧道施工和运营安全的重要工作。隧道工程常面临的问题包括地层变形、地下水位变化、地震影响等,这些问题对隧道结构的安全性和使用寿命有着重要影响。因此,隧道工程中的安全监测与控制研究非常重要。 ......
  • 使用rpc和venom工具模拟隧道搭建
    环境Avps-外网(这里用电脑主机模拟)B双网卡主机-外网内网(这里用虚拟机搭建kali系统)C内网主机-内网(这里用虚拟机搭建centos系统)用到的工具rpc、venom全局代理工具:proxifier浏览器代理工具:switchomega步骤网卡配置B双网卡主机配置C内网主机配置2.服务......
  • 关于autoSSH保持连接的两种方法
    使用ssh端口转发功能进行内网穿透,但是经过的网络稍有不稳定就可能导致连接断开,所以考虑使用工具AutoSSH,按照默认使用还需要一个监听端口,考虑到安全尽量少开端口,是否可以不用,很多文章都提到了可以用ssh自身保持连接的方法,如下面这篇:第21篇:SSH隧道持久化配置-知乎其中......
  • [转]如何关闭一个不活动的或者空闲的 SSH 会话
    原文地址:技术|如何关闭一个不活动的或者空闲的SSH会话作者: MageshMaruthamuthu 译者: LCTT wcnnbdk1 |2017-07-0609:13  评论: 2 收藏: 2    让我们来假设一下,当你通过ssh在服务器上工作时,由于网络、电源或者是本地PC重启等原因会导致你的会话连接断......
  • [转]一文彻底搞懂ssh的端口转发
    原文地址:一文彻底搞懂ssh的端口转发_ssh端口转发-CSDN博客背景端口转发是突破网络域隔离的一个手段。在学习这个知识的时候需要不断自问为什么需要端口转发?应用场景是什么呢?什么是端口转发?SSH隧道或SSH端口转发可以用来在客户端和服务器之间建立一个加密的SSH连接如下图,通......
  • [转]用autossh工具进行端口转发
    原文地址:用autossh工具进行端口转发|EscapeAutoSSH是一种用以对SSH登录进行安全地自动化的软件!比如我们在 host2 机器上面部署了很多服务,但是由于某种原因导致我们无法直接 ssh 访问该服务器已经其上服务的对应端口,但是 host3 服务器,既能够访问 host2 服务器,又......
  • ssh的远程连接(Linux篇)
    这里用到的虚拟机时centos7记得提前先把网络连接好,这里选择的是桥接模式1.启动ssh服务#在centos中启动sshd服务sudosystemctlstartsshd2.在windows的cmd命令界面内输入以下内容#sshcentos中的登录用户名@centos中的IP地址[email protected]然后cmd中会出现以......