将本地服务通过 SSH 代理给外部访问

💡 原文中文,约1000字,阅读约需3分钟。
📝

内容提要

通过 SSH 将本地服务代理到外部访问,需要配置 nginx,生成公钥并进行权限认证。同时,通过 SSH 转发端口并设置保持连接参数,以确保会话稳定。

🎯

关键要点

  • 通过 SSH 将本地服务代理到外部访问需要配置 nginx。
  • nginx 配置包括监听端口、设置服务器名称和请求转发。
  • 生成公钥并将其添加到内网服务器的授权密钥中以进行权限认证。
  • 在本地启动服务并将外网访问的端口转发到本地端口。
  • 使用 nohup 命令保持 SSH 会话连接。
  • 设置 ServerAliveInterval 和 ServerAliveCountMax 参数以确保会话稳定。

延伸问答

如何通过 SSH 将本地服务代理到外部访问?

需要配置 nginx,生成公钥并进行权限认证,然后通过 SSH 转发端口。

nginx 的配置需要包含哪些内容?

nginx 配置包括监听端口、设置服务器名称和请求转发到本地服务。

如何生成 SSH 公钥并进行权限认证?

在外网服务器上运行 `ssh-keygen -o` 生成公钥,然后将其添加到内网服务器的 `~/.ssh/authorized_keys` 中。

如何保持 SSH 会话的连接性?

使用 `nohup` 命令,并设置 `ServerAliveInterval` 和 `ServerAliveCountMax` 参数来保持连接。

如何将外网访问的端口转发到本地端口?

使用命令 `ssh -N -R 10412:127.0.0.1:8088 root@{外部服务器的外网IP}` 来实现端口转发。

在 SSH 连接中,ServerAliveInterval 和 ServerAliveCountMax 的作用是什么?

ServerAliveInterval 指定发送保持连接的数据包的时间,ServerAliveCountMax 指定最大尝试连接的次数。

➡️

继续阅读