# ssh-server **Repository Path**: fanstudio/ssh-server ## Basic Information - **Project Name**: ssh-server - **Description**: 轻量级的 SSH 端口转发服务器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-23 - **Last Updated**: 2026-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SSH Server 一个轻量级的 SSH 端口转发服务器,提供 Web 管理面板,支持用户管理、转发策略控制、会话审计和 IP 黑名单。 ## 功能 - **SSH 端口转发** — 仅支持 `direct-tcpip` 通道,不提供 shell/shell 功能 - **多用户认证** — 支持密码登录和公钥登录,可单独禁用密码登录 - **转发策略** — 每个用户可独立配置转发开关、白名单和黑名单(支持 `*` 通配符) - **Web 管理面板** — 用户 CRUD、活跃会话查看/断开、会话日志、IP 黑名单管理 - **会话审计日志** — 按日轮转的 CSV 日志,记录连接/断连/转发开始/转发结束 - **IP 黑名单** — 自动封禁多次认证失败的 IP,支持手动封禁/解封,24 小时自动过期 - **配置持久化** — 用户配置变更自动写回 YAML 文件 ## 快速开始(以windows平台为例) ### 编译 ```bash go build -o ssh-server.exe ``` ### 配置 复制配置模板: ```bash copy config/config.yaml.example config/config.yaml ``` ### 运行 ```bash ssh-server.exe ``` ### 访问管理面板 打开浏览器访问 `http://127.0.0.1:1080`,默认账号密码:admin/123456。 ### 转发策略格式 白名单和黑名单中的每条规则是一个 `host:port` 模式,支持 `*` 通配符: | 模式 | 说明 | |------|------| | `*:*` | 任意地址和端口 | | `192.168.*:*` | 192.168.x.x 任意端口 | | `*.internal.com:*` | internal.com 子域名任意端口 | | `*:80` | 任意地址的 80 端口 | | `10.0.0.1:22` | 精确匹配 | - `forward_enabled = false`:禁止该用户所有转发 - 白名单为空:不限制目标地址 - 白名单非空:仅允许匹配白名单的目标 - 黑名单匹配的目标始终拒绝(优先级高于白名单) ## 注意事项 - 不建议手工修改配置文件 - 管理端口,非必要不要绑定到 0.0.0.0,这样存在安全风险 - 密码重置(包括管理员)支持命令行,使用ssh-server.exe -hash-password ,将生成的密码替换到password_bcrypt字段即可