Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

zzmlb/SSHPilot

Repository files navigation

SSHPilot

基于 Web 的 SSH 远程文件管理器,支持多节点管理、双面板跨服务器传输、资源监控与费用统计。

Python FastAPI License

功能

文件管理

  • 多节点管理 — 添加、编辑、删除 SSH 服务器节点,支持密码 / 密钥文件 / 粘贴私钥(RSA/Ed25519/ECDSA/DSS)三种认证方式
  • 双面板模式 — 同时打开两台服务器,左右拖拽跨服务器传输文件
  • 本机文件管理 — 本机作为特殊节点,与远程服务器统一操作体验
  • 文件操作 — 浏览、上传、下载、重命名、复制、移动、压缩 / 解压、新建文件 / 目录
  • 在线编辑器 — 直接编辑远程文本文件,支持行号显示、Ctrl+S 保存
  • 列表 / 图标视图 — 文件展示支持表格和图标两种视图切换
  • 隐藏文件切换 — 一键显示 / 隐藏以 . 开头的文件
  • 分页浏览 — 每页最多显示 10 个文件,支持翻页导航
  • 回收站 & 撤销 — 删除文件进回收站,支持恢复和 Ctrl+Z 撤销操作

监控 & 统计

  • 资源监控 — 实时查看所有服务器(含本机)的 CPU、内存、磁盘使用率和负载
  • 费用统计 — 月费合计、年费估算、均价,按厂商 / 国家 / 业务多维度费用分布
  • 到期时间表 — 可视化展示各节点到期倒计时,自动高亮即将过期节点
  • 硬件信息 — 连接后自动探测并显示 CPU 核心数、内存、磁盘容量

节点信息

  • 丰富元数据 — 每个节点可设置国家、厂商、业务、到期时间、费用标签
  • SSH 密钥扫描 — 自动读取本机 ~/.ssh/ 配置,一键扫描可免密直连的服务器
  • 本机出口 IP — 自动探测并显示本机公网出口 IP

安全机制

  • 凭据加密存储(XOR + HMAC-SHA256 密钥派生)
  • HMAC Token 认证 + 服务端令牌吊销
  • PBKDF2 密码哈希(100,000 轮)
  • 登录 IP 限速(每分钟 10 次)
  • Content-Security-Policy / X-Frame-Options / X-Content-Type-Options 等安全头
  • CDN 资源 SRI 完整性校验
  • 错误信息脱敏,不泄漏服务器内部路径
  • API 文档端点已禁用

快速部署

Docker(推荐)

git clone https://github.com/zzmlb/SSHPilot.git
cd SSHPilot
docker compose up -d

启动后访问 http://your-ip:8899,首次启动会自动生成管理员密码,查看日志获取:

docker compose logs sshpilot

手动部署

git clone https://github.com/zzmlb/SSHPilot.git
cd SSHPilot
pip install -r requirements.txt
uvicorn app:app --host 0.0.0.0 --port 8899

默认账号

首次启动自动生成管理员凭据并输出到控制台,仅首次显示明文密码:

==================================================
 SSH File Manager 首次启动
 已自动生成管理员账号:
 用户名: admin
 密 码: xxxxxxxxxxxxxxxx
 (保存在 data/auth.conf)
==================================================

后续启动不再回显密码。如需重置,删除 data/auth.conf 后重启即可。

技术栈

组件 技术
后端 Python, FastAPI, Paramiko, SQLAlchemy
前端 原生 HTML/CSS/JS, Font Awesome
数据库 SQLite
部署 Docker, Uvicorn

目录结构

SSHPilot/
├── app.py # FastAPI 主应用 & API 路由
├── security.py # 加密、认证、限速、密码管理
├── ssh_manager.py # SSH/本地连接池 & 文件操作
├── models.py # SQLAlchemy 数据模型 & 动态迁移
├── requirements.txt # Python 依赖
├── Dockerfile
├── docker-compose.yml
├── static/
│ ├── index.html # 主界面(文件管理 + 监控)
│ ├── login.html # 登录页
│ ├── app.js # 前端逻辑
│ └── style.css # 样式
└── data/ # 运行时数据(已 gitignore)
 ├── .secret_key # 加密密钥
 ├── auth.conf # 管理员凭据(哈希)
 ├── local_meta.json # 本机节点元数据
 └── nodes.db # 节点数据库

License

MIT

About

Web-based SSH remote file manager with dual-panel cross-server transfer | 基于 Web 的 SSH 远程文件管理器,支持双面板跨服务器传输

Topics

Resources

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /