ankushT369/GhostSSH

GitHub: ankushT369/GhostSSH

一款轻量级 SSH-over-HTTPS 代理工具,通过 WebSocket 将 SSH 流量封装在 HTTPS 隧道中传输,解决防火墙阻断 SSH 端口时的远程访问难题。

Stars: 3 | Forks: 0

# GhostSSH **GhostSSH 轻量级 SSH-over-HTTPS 代理,用于安全且防火墙友好的远程访问**

GhostSSH

GhostSSH 是一款轻量级工具,可通过安全的 WebSocket (WSS) 连接启用 SSH 访问。它允许您在直接 SSH 流量(端口 22)被阻止的情况下,通过标准 HTTPS 基础设施进行隧道传输,从而连接到远程机器。 在许多环境中——例如企业网络、云平台或公共 Wi-Fi——仅允许 HTTP/HTTPS 流量。GhostSSH 的工作原理是将 HTTP 连接升级为 WebSocket,并通过它们流式传输 SSH 数据,从而实现实时、双向通信,而无需修改现有的 SSH 服务器。 GhostSSH 并非充当传统的 HTTP 代理,而是创建一个持久隧道: * 客户端为 SSH 暴露一个本地 TCP 端口 * 数据通过安全的 WebSocket (WSS) 连接转发 * 服务器将其桥接到本地 SSH 守护进程 (`sshd`) * 响应会即时流式传输回来 这使得 GhostSSH 的行为就像是在使用 HTTPS 基础设施的 WebSocket (WSS) 上的原始 TCP 隧道。 GhostSSH 具有: * **轻量级** — 最小依赖 * **实时** — 全双工流式传输 * **防火墙友好** — 通过 HTTPS(端口 443)运行 * **透明** — 与标准 SSH 客户端配合使用 它不会替代 SSH,也不需要对 SSH 服务器进行更改——仅在其之上提供了一个灵活的传输层。 ## 如何使用 ### 1. 启动 GhostSSH 服务器 在您的机器上(运行 `sshd` 的地方)运行 GhostSSH 服务器: ``` ./bin/ghost-linux-amd64 server --port 7777 ```

GhostSSH

### 2. 使用 ngrok 暴露服务器 由于 GhostSSH 通过 HTTP 使用 WebSocket,您可以使用 ngrok 将其暴露: ``` ngrok http 7777 ```

GhostSSH

**复制生成的 *HTTPS URL*(例如,`https://xxxxx.ngrok-free.dev`)** ### 3. 启动 GhostSSH 客户端 在客户端机器上,使用 ngrok URL 连接到服务器: ``` ./bin/ghost-linux-amd64 client \ --connect https://your-ngrok-url.ngrok-free.dev \ --port 8888 ``` **这会创建一个用于 SSH 访问的本地 TCP 端口 (`8888`)** ### 4. 通过 SSH 连接 现在使用标准 SSH 进行连接: ``` ssh ankush@localhost -p 8888 ```

GhostSSH

**您现在已经通过 GhostSSH 连接到远程机器了!** ### 流程总结 ``` SSH Client (localhost:8888) ↓ GhostSSH Client ↓ (WSS over HTTPS via ngrok) GhostSSH Server ↓ sshd (localhost:22) ``` #### 注意事项 * ngrok 仅用于公开暴露服务器 * GhostSSH 本身处理通过 WebSocket (WSS) 的隧道传输 * 适用于仅允许 HTTPS(端口 443)的受限网络 ## 构建选项 ### 1. 默认构建(Linux,动态链接) ``` make ``` 输出: ``` bin/ghost-linux-amd64 ``` ### 2. 静态构建(Linux,glibc) ``` make static ``` 输出: ``` bin/ghost-linux-amd64-static ``` ### 3. 便携构建(Linux,完全静态) 此构建使用 musl 并生成一个完全静态的二进制文件,适用于大多数 Linux 发行版。 ``` make musl ``` 输出: ``` bin/ghost-linux-amd64-musl ``` ### 4. Windows 构建(交叉编译) ``` make win ``` 输出: ``` bin/ghost-windows-amd64.exe ```
标签:Awesome, Go语言, HTTPS代理, ngrok, SSH, TCP代理, WebSocket, WSS, 依赖分析, 内网穿透, 客户端加密, 日志审计, 流量伪装, 程序破解, 端口转发, 系统管理, 绕过防火墙, 网络安全, 网络通信, 轻量级工具, 远程控制, 远程访问, 隐私保护, 隧道工具