将本地服务通过 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 指定最大尝试连接的次数。
➡️