编辑
2023-12-19
学习
00
请注意,本文编写于 305 天前,最后修改于 305 天前,其中某些信息可能已经过时。

目录

检查 nginx 是否已经配置了 SSH 模块
找到 nginx 的 configure 的位置
使用 configure 安装 SSH 模块
安装
编译
完成

image.png

检查 nginx 是否已经配置了 SSH 模块

shell
nginx -V

打印如下

shell
$ nginx -V nginx version: nginx/1.24.0 built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) built with OpenSSL 1.1.1f 31 Mar 2020 TLS SNI support enabled configure arguments: --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.45

configure arguments 中 不存在 --with-stream, 说明不支持 SSH

找到 nginxconfigure 的位置

shell
sudo find /usr -name "configure" | grep "nginx"

找到如下

shell
/usr/local/src/nginx-1.24.0/configure

使用 configure 安装 SSH 模块

安装

shell
sudo ./configure --with-stream
shell
checking for OS + Linux 5.4.0-77-generic x86_64 checking for C compiler ... found + using GNU C compiler + gcc version: 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) checking for gcc -pipe switch ... found checking for -Wl,-E switch ... found checking for gcc builtin atomic operations ... found checking for C99 variadic macros ... found checking for gcc variadic macros ... found checking for gcc builtin 64 bit byteswap ... found checking for unistd.h ... found checking for inttypes.h ... found checking for limits.h ... found checking for sys/filio.h ... not found checking for sys/param.h ... found checking for sys/mount.h ... found checking for sys/statvfs.h ... found ...... checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... found checking for openat(), fstatat() ... found checking for getaddrinfo() ... found checking for PCRE2 library ... found checking for zlib library ... found creating objs/Makefile Configuration summary + using system PCRE2 library + OpenSSL library is not used + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"

编译

shell
sudo make
shell
make -f objs/Makefile make[1]: Entering directory '/usr/local/src/nginx-1.24.0' cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \ -o objs/src/core/nginx.o \ src/core/nginx.c cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \ -o objs/src/core/ngx_log.o \ src/core/ngx_log.c cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wer ...... objs/src/stream/ngx_stream_upstream_random_module.o \ objs/src/stream/ngx_stream_upstream_zone_module.o \ objs/ngx_modules.o \ -ldl -lpthread -lcrypt -lpcre2-8 -lz \ -Wl,-E sed -e "s|%%PREFIX%%|/usr/local/nginx|" \ -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \ -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \ -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \ < man/nginx.8 > objs/nginx.8 make[1]: Leaving directory '/usr/local/src/nginx-1.24.0'

完成

#ssh代理配置 stream { upstream ssh-proxy { server 110.42.252.237:22; #代理的地址 } server { listen 12345; #本地监听12345 proxy_pass ssh-proxy; } }

本文作者:beiklive

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!