返回目录
开源项目自动化与 Agent 类新手

EasyNode:多功能 Linux/Windows 服务器 WEB 终端面板(webSSH & webSFTP)

EasyNode 是一个开源的多功能服务器 WEB 终端面板,提供功能完善的 SSH 终端与 SFTP、AI agent 组件、脚本库、实例分组、凭据托管、多渠道通知、批量下发指令、自定义终端主题,并配有支持 iOS / Android 的 Native 移动端(原生 SSH、SFTP、Docker、脚本库、服务器状态)。支持 docker-compose 一键部署,内置 https 自签证书访问、MFA2、IP 白名单等安全能力,并提供重置密码、移除 MFA、清空 IP 白名单等维护脚本。

0 次阅读2026/09/15 发布
EasyNode:多功能 Linux/Windows 服务器 WEB 终端面板(webSSH & webSFTP) 来源图片

社区作者 · zZz

它解决什么问题

EasyNode 是 2022 年 8 月首次发布的多功能 Linux/Windows 服务器 WEB 终端面板,核心能力围绕 webSSH 与 webSFTP 展开。

【主要功能】

  • 功能完善的 SSH 终端 & SFTP
  • AI agent 组件
  • 批量导入、导出、编辑服务器配置、脚本等
  • 脚本库
  • 实例分组
  • 凭据托管
  • 多渠道通知
  • 批量下发指令
  • 自定义终端主题
  • Native 移动端,支持 iOS / Android 原生 SSH、SFTP、Docker、脚本库等能力

【界面与移动端(配图说明)】

  • 配图 1 为面板展示动图;配图 2 为 Native 端服务器、SFTP 和脚本库展示;配图 3 为 Native 端 SSH 终端、SFTP 和服务器状态展示。
  • Native 端复用现有 EasyNode 后端,在移动设备上提供服务器管理、原生 SSH 终端、SFTP 文件管理、Docker、脚本库和服务器状态等能力。
  • 来源页面还出现 EdgeOne Logo(配图 4)与一张 Image 配图(配图 5),前者为赛事/赞助标识,不构成功能说明。

【默认账号与访问方式】

  • 首次启动后会在终端自动生成管理员账号密码,登录后请及时修改,避免日志残留敏感信息。

请牢记账号密码;

可复制命令
Docker 部署如需重置密码

,可使用维护脚本。

  • https 安全访问:https://ip:8083(默认启用 https 自签证书加密访问,首次打开需在浏览器中手动跳过证书错误提示:浏览器页面中点“高级” --> “继续前往”)。
  • http 内网访问:http://ip:8082(开放公网访问请勿使用 http;仓库提供的 docker-compose.yml 默认仅 127.0.0.1 内网访问)。
  • 仓库提供的 docker-compose.yml 默认启用变量 COOKIE_SECURE=true,此时 http 协议无法正常使用,如需非加密访问,请注释 COOKIE_SECURE=true。
  • 部署所用 docker-compose.yml 默认采用腾讯云 CNB 自动构建镜像,如发现服务不可用请自行替换或移除加速。

【环境变量】

  • GUACD_HOST:自建 guacd 服务 IP;默认值为空(docker-compose 已配置)。
  • GUACD_PORT:自建 guacd 服务 PORT;默认值为空(docker-compose 已配置)。
  • DEBUG:启动日志;默认 true;false 关闭,true 开启。
  • RDP_PORT:RDP 服务端口;默认值为空;无特殊需求保持默认即可。
  • ENABLE_HTTPS:是否启用 HTTPS;默认 1;0 关闭、1 自签证书(适合内网)、2 合法证书(适合外网);外网建议使用 nginx/caddy 进行 HTTPS 转发。
  • COOKIE_SECURE:Session Cookie 是否仅通过 HTTPS 发送;默认 false;true 时启用 Secure 标志,仅可通过 HTTPS 登录,仓库提供的 docker-compose 默认为 true。
  • HTTPS_PORT:HTTPS 端口;默认 8092(来源同时给出 https 访问地址 https://ip:8083,实际端口以部署配置为准,待核验);默认启用,请使用 https 访问 web 端。
  • SSL_CERT_PATH:HTTPS 证书文件路径;当 ENABLE_HTTPS=2 时必须配置。
  • SSL_KEY_PATH:HTTPS 私钥文件路径;当 ENABLE_HTTPS=2 时必须配置。

注意:

可复制命令
docker 默认不启用 ipv6

,请参考 Q&A 配置或者使用支持 ipv6 的跳板机中转。

【建议】

  • 任何系统都无法保障没有 bug,EasyNode 也一样。
  • 请妥善利用面板提供的 MFA2、IP 白名单等安全功能,如需加强建议搭配 OpenVPN、TailScale 等手段访问;建议面板服务不要暴露到公网。
  • webssh 与监控服务都将以该服务器作为中转。中国大陆用户建议使用香港、新加坡、日本、韩国等地区的低延迟服务器来安装服务端面板。
  • 及时升级面板,EasyNode 会不定期升级底层安全依赖;建议使用提供的 docker-compose.yml 一键部署,可自动检测更新并升级(含 watchtower 自动更新)。

【声明】 EasyNode 于 2022 年 8 月首次发布,作者在开发时已尽可能确保其安全性。EasyNode 同其他项目一样会依赖流行的第三方库,而这些第三方库的安全性无法得到永久保障。因此,如果服务器具备重要的数据价值,请避免将该项目部署在公网环境或者不使用此项目。对于因安全漏洞造成的任何损失,作者概不承担任何责任。

【测试与赞助说明】 来源页面提到项目 CDN 加速与安全防护由腾讯 EdgeOne 赞助(EdgeOne 提供长期免费套餐、不限流量与请求,覆盖中国大陆节点,无超额费用)。页面标注有“常见问题 / QA”章节入口,但未展开具体问答内容。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

以下为来源正文提供的 docker-compose 部署与维护流程,请严格按顺序执行。

一、准备环境

  • 一台可运行 Docker 的 Linux 服务器(webssh 与监控服务将以该服务器作为中转,中国大陆用户建议选择香港、新加坡、日本、韩国等低延迟地区)。
  • 已安装 Docker 与 docker compose 命令。
  • 无需特殊需求时,建议直接使用仓库提供的 docker-compose.yml 一键启动。
  • 提示:部署用的 docker-compose.yml 默认采用腾讯云 CNB 自动构建镜像,如发现服务不可用请自行替换或移除加速。

二、docker compose 快速部署

  1. 创建 easynode 目录:
命令
mkdir -p /root/easynode && cd /root/easynode
  1. 下载 docker-compose.yml 文件(含 watchtower 自动更新):
命令
wget https://git.221022.xyz/https://raw.githubusercontent.com/chaos-zhu/easynode/main/docker-compose.yml
  1. 启动服务:
命令
docker compose up -d

三、首次运行与访问

  • 首次启动后会在终端自动生成管理员账号密码,登录后请及时修改,避免日志残留敏感信息。

牢记账号密码;

可复制命令
Docker 部署如需重置密码

,可使用下方维护脚本。

  • https 安全访问:https://ip:8083。默认启用 https 自签证书加密访问,首次打开需在浏览器中手动跳过 https 证书错误提示:浏览器页面中点“高级” --> “继续前往”。
  • http 内网访问:http://ip:8082。切记开放公网访问请勿使用 http,仓库提供的 docker-compose.yml 文件默认仅 127.0.0.1 内网访问。
  • 注意:仓库提供的 docker-compose.yml 默认启用变量 COOKIE_SECURE=true,此时 http 协议无法正常使用;如需非加密访问,请注释 COOKIE_SECURE=true。
  • 如需合法证书对外,将 ENABLE_HTTPS 设为 2,并配置 SSL_CERT_PATH 与 SSL_KEY_PATH;外网建议使用 nginx/caddy 进行 HTTPS 转发。

四、Docker 维护脚本(仅支持 Docker Compose 部署)

  • 请在 docker-compose.yml 所在目录执行,并严格按照“停止服务 → 运行一次性维护容器 → 恢复服务”的顺序操作,避免多个进程同时写入数据库。

警告:执行任何维护脚本前,必须先使用 docker compose stop easynode 完全停止 EasyNode 主容器。禁止通过

可复制命令
docker exec 在运行中的容器内执行这些脚本

,否则多个进程同时写入 NeDB,可能造成数据覆盖或数据库损坏。

1)重置管理员用户名和密码

命令
docker compose stop easynode
命令
docker compose run --rm --no-deps easynode node scripts/reset-password.js
命令
docker compose up -d easynode
  • 脚本启动后会要求确认,只有输入 y 或 Y 才会继续。确认后将生成并输出新的随机管理员用户名和密码,同时使所有现有登录会话失效。请使用新凭据登录后立即修改用户名和密码。

2)移除 MFA

命令
docker compose stop easynode
命令
docker compose run --rm --no-deps easynode node scripts/remove-mfa.js
命令
docker compose up -d easynode
  • 脚本会关闭管理员账号的 MFA 并删除现有 TOTP 密钥,不会修改用户名或密码。服务恢复后请尽快重新启用 MFA。

3)移除所有 IP 白名单

命令
docker compose stop easynode
命令
docker compose run --rm --no-deps easynode node scripts/remove-ip-whitelist.js
命令
docker compose up -d easynode
  • 脚本会清空当前及旧版兼容的全部 IP 访问规则。服务恢复后所有来源 IP 均可访问面板,请尽快重新配置 IP 白名单,并避免将未受保护的面板暴露到公网。

五、环境变量配置要点

  • GUACD_HOST / GUACD_PORT:自建 guacd 服务 IP 与端口,docker-compose 已配置。
  • DEBUG:启动日志,true 开启、false 关闭,默认 true。
  • RDP_PORT:RDP 服务端口,无特殊需求保持默认。
  • ENABLE_HTTPS:0 关闭、1 自签证书(适合内网)、2 合法证书(适合外网),默认 1。
  • COOKIE_SECURE:true 时 Session Cookie 仅通过 HTTPS 发送,仓库 docker-compose 默认为 true。
  • HTTPS_PORT:默认 8092,默认启用,请使用 https 访问 web 端。

SSL_CERT_PATH / SSL_KEY_PATH:

可复制命令
ENABLE_HTTPS=2 时必须配置

六、常见问题排查

  • 无法用 http 访问:检查是否启用了 COOKIE_SECURE=true,需要时注释该变量。
  • 浏览器提示证书错误:默认自签证书,手动点“高级”-->“继续前往”跳过即可。
  • 网页打不开或服务不可用:docker-compose 默认使用腾讯云 CNB 自动构建镜像,可自行替换或移除加速。
  • 忘记管理员账号密码:使用 reset-password.js 维护脚本重置(须先停止主容器)。
  • MFA 无法验证或丢失:使用 remove-mfa.js 移除 MFA 后重新启用。
  • IP 白名单把自己挡住:使用 remove-ip-whitelist.js 清空规则后重新配置。

IPv6 不可用:

可复制命令
docker 默认不启用 ipv6

,请参考 Q&A 配置或者使用支持 ipv6 的跳板机中转。

  • 更新:建议使用提供的 docker-compose.yml 一键部署,含 watchtower 可自动检测更新并升级。

来源教程配图

面板展示
配图 1 · 面板展示查看原图
Native端服务器、SFTP和脚本库展示
配图 2 · Native端服务器、SFTP和脚本库展示查看原图
Native端SSH终端、SFTP和服务器状态展示
配图 3 · Native端SSH终端、SFTP和服务器状态展示查看原图
EdgeOne Logo
配图 4 · EdgeOne Logo查看原图
Image
配图 5 · Image查看原图

适用场景

通过浏览器对 Linux/Windows 服务器进行 webSSH 远程终端操作
使用 webSFTP 在浏览器中上传
下载与管理远程服务器文件
集中管理多台服务器
批量导入/导出/编辑配置与批量下发指令
把常用运维操作沉淀为脚本库并按实例分组调用
托管服务器凭据并结合 MFA2
IP 白名单强化访问控制
通过多渠道通知接收运维与监控告警
在 iOS / Android 移动端使用原生 SSH
SFTP
Docker 与服务器状态查看