使用nginx实现ssh跳板机方式

 更新时间:2026年01月07日 15:35:23   作者:Eddy5x  
文章介绍了如何使用Docker Compose在跳板机上安装Nginx,并配置Nginx作为TCP流量的转发器,文中提到配置NGINX支持STREAM模块,并在`nginx.conf`文件中添加stream块来实现TCP流量转发,需要注意的是,该方法不适合生产环境,存在安全风险

基础环境

  • 跳板机,IP:192.168.3.174
  • 控制机01,IP:192.168.2.78
  • 控制机02,IP:192.168.2.79

控制机01、控制机02只允许跳板机访问。

nginx安装

这里使用docker-compose安装

# docker-compose.yml
version: '3.7'
services:
  nginx:
    restart: always
    image: registry.cn-hangzhou.aliyuncs.com/eddy/nginx:1.27
    privileged: true
    environment:
      TZ: Asia/Shanghai
    ports:
      - 8001:8001
      - 2201:2201
      - 2202:2202
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./http:/etc/nginx/http
      - ./stream:/etc/nginx/stream
      - ./logs:/etc/nginx/logs
# 启动Nginx
docker-compose up -d

检查NGINX支持STREAM模块

# 进入容器
docker exec -it [容器名] /bin/sh
# 如果输出 with-stream,说明已支持。
# 若未输出,需重新编译Nginx并添加 --with-stream 参数。
nginx -V 2>&1 | grep -o with-stream

配置NGINX转发TCP流量

在Nginx配置文件(如 /etc/nginx/nginx.conf)中添加 stream 块(与 http 块同级)

# nginx.conf
worker_processes  1;

error_log  /etc/nginx/logs/error.log;

events {
    worker_connections  1024;
}

stream {
    include /etc/nginx/stream/*.conf;
}
# stream/ssh-01.conf
server {
    listen       2201;
    proxy_pass 192.168.2.78:22;
}
# stream/ssh-02.conf
server {
    listen       2202;
    proxy_pass 192.168.2.79:22;
}

重启Nginx即可

大功告成,开始享用吧

切忌,该方式不适合生产使用,存在安全风险!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于nginx实现上游服务器动态自动上下线无需reload的实现方法

    基于nginx实现上游服务器动态自动上下线无需reload的实现方法

    这篇文章主要介绍了基于nginx实现上游服务器动态自动上下线无需reload,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 使用Nginx实现根据 IP 匹配指定 URL

    使用Nginx实现根据 IP 匹配指定 URL

    最近的一个项目,需要特定的IP访问某专题页面的时候跳转到网站首页,思考了下,直接使用NGINX实现,分享给大家。
    2014-09-09
  • Nginx-Proxy-Manager可视化管理平台的使用

    Nginx-Proxy-Manager可视化管理平台的使用

    Nginx-Proxy-Manager是一个基Web的Nginx服务器管理工具,它允许用户通过浏览器界面轻松地管理和监控Nginx服务器,本文主要介绍了Nginx-Proxy-Manager可视化管理平台的使用,感兴趣的可以了解一下
    2024-08-08
  • Nginx中全局变量整理小结

    Nginx中全局变量整理小结

    对于Nginx下全局变量整理,方便使用Nginx的朋友调用全局变量。
    2010-08-08
  • nginx禁用特定ip的方法详解

    nginx禁用特定ip的方法详解

    Nginx是一款轻量级的Web服务器、反向代理服务器及电子邮件代理服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,本文主要介绍利用nginx来禁用特定ip的方法,需要的朋友可以参考下
    2023-09-09
  • 实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法

    实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法

    最近在本地搭建的LNMP的开发环境。为了开发的时候不影响前端的正常开发就屏蔽的PHP里面php.ini中的一些错误提示。但是这样一来,就影响到了后端开发的一些问题比如不能及时调试开发中的一些问题
    2014-05-05
  • Nginx捕获并自定义proxy_pass返回的错误问题

    Nginx捕获并自定义proxy_pass返回的错误问题

    这篇文章主要介绍了Nginx捕获并自定义proxy_pass返回的错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • nginx中配置sse的方法示例

    nginx中配置sse的方法示例

    本文主要介绍了nginx中配置sse的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Windows中将Nginx添加为服务的问题

    Windows中将Nginx添加为服务的问题

    这篇文章主要介绍了Windows中将Nginx添加为服务的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • nginx服务加鉴权&设置日志方式

    nginx服务加鉴权&设置日志方式

    这篇文章主要介绍了nginx服务加鉴权&设置日志方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06

最新评论