SSH 与堡垒机
SSH 管理
- 密钥管理:
authorized_keys增删与启停 - 密钥生成:在线生成密钥对,公钥直接安装到目标机器
- 私钥管理:面板托管私钥,供堡垒机等场景引用
- 登录日志:读取
secure/auth.log/wtmp,查看登录成功与失败记录 - root 登录权限:三档切换(允许 / 仅密钥 / 禁止)
- 登录白名单:
AllowUsers/DenyUsers配置
Web 终端
- 面板内直接打开 Web 版终端(xterm),浏览器即得本机 Shell
- 实现方式:面板直接 fork PTY 运行本机 Shell,不依赖 sshd,sshd 配置损坏时依然可用
- 鉴权:浏览器 WebSocket 无法携带 Authorization 头,改用一次性票据; 仍受安全入口约束
SSH 守护
「SSH 管理 → SSH 守护」基于 ssh-guardian 提供 sshd 可用性守护,内置为面板功能模块(进程内监控循环,无独立 systemd 服务):
- 监控内容:sshd 服务运行状态、端口监听、配置文件完整性
- 自动恢复:异常时自动重启 sshd 并还原配置(多版本备份),改坏配置不怕锁死在门外
- 生命周期:开启即启动、关闭即停止、重启按当前配置重载;面板重启后按开关状态自动恢复
- 守护统计:累计监控周期数、累计成功恢复次数、最近检查 / 最近恢复时间,持久化到面板 KV,重启后统计延续
- 配置信息:展示配置文件、SSH 配置源目录、备份目录、监听端口与安装形态
- 运行日志:守护循环的日志在面板内环形缓冲展示(最近 200 条)
堡垒机
集中托管远端 SSH 主机,把散落的机器与凭据收进面板统一管理。
- 多种登录方式:密码 / 私钥
- 凭据加密存储:使用
internal/secret统一加密(AES-256-GCM),接口不回传明文 - 分组管理与连通性检测
- 安全码防护:开启后连接主机需校验安全码
- 批量导入:支持上传本地 SSH 配置(
~/.ssh/config)或自建清单批量导入主机 - 导出清单:按筛选条件导出为
ssh_config或逐行清单,可与批量导入互为往返 - 会话监控:在线会话列表、强制下线,终端会话可审计
主密钥
堡垒机密码 / 私钥 / 口令、DNS 账号密钥等凭据,以及安全码摘要,统一由 AES-256-GCM 主密钥保护:
- 未配置环境变量时,首次启动生成随机密钥落盘
data/master.key(权限0600)并复用 - 生产环境建议显式配置
GOPANEL_BASTION_KEY且保持稳定 - 换了密钥,旧密文与安全码需要重置
