nginx代理ssh端口

概述

某些情况,服务器不暴露22端口,我们可以通过nginx代理22端口,实现ssh远程登录。
通常nginx反向代理是代理七层的http协议,其实nginx也可以进行四层协议代理。

配置

注意stream代码块要和http代码块同级。

stream {
    upstream ssh-proxy {
      server 需要代理的ip:22;
    }
    server {
      listen 8019;
      proxy_pass ssh-proxy;
    }
}

下图是将22端口代理到8019端口。
在这里插入图片描述

启动nginx

注解修改配置文件后要重启nginx,如果通过docker或k8s部署nginx,记得将端口映射出来。

测试

ssh 目标ip -l 用户名 -p 端口

在这里插入图片描述
输入密码即可完成远程登录。

猜你喜欢

转载自blog.csdn.net/weixin_39510828/article/details/119945950