文档
快速开始 + 每部分每设备的功能说明(持续更新中)
安装与卸载
本文详细说明如何安装、升级与卸载 SSH Everywhere 面板,重点讲清「改了安装目录后怎么卸载」以及命令里的格式细节(空格、引号)。
1. 安装(一行命令)
在一台有公网 IP 的 Linux 服务器上运行:
curl -fsSL https://ssheverywhere.com/install.sh | bash
脚本会自动完成:检测系统 → 安装依赖(Python3 / venv / pip / git / curl)→ 下载代码 → 建虚拟环境 → 安装 Python 依赖 → 注册并启动 systemd 服务。
支持 Debian / Ubuntu / CentOS / Rocky / AlmaLinux / Fedora / WSL(无 systemd 时自动改用后台运行)。
安装参数
| 参数 | 说明 | 示例 |
|---|---|---|
--lang <代码> | 提示语言 + 面板默认语言(默认按系统 locale 自动判断;也接受 1-16 编号) | --lang ja |
--dir <目录> | 安装目录(默认 /opt/ssh-everywhere;不可写时自动回退 ~/ssh-everywhere 并在输出中说明) | --dir /opt/my-panel |
--port <端口> | 面板端口(默认 5501) | --port 8080 |
--ascii | 强制纯 ASCII 符号输出([ok] / [..] / [!] / [x]),任何终端都不会乱码 | --ascii |
--unicode | 强制 Unicode 符号输出(✓ ⟳ ⚠️ ❌);UTF-8 环境下默认就是它 | --unicode |
--yes / -y | 升级时自动确认,无需交互 | --yes |
支持的语言代码(16 种)
| 代码 | 语言 | 代码 | 语言 | 代码 | 语言 | 代码 | 语言 |
|---|---|---|---|---|---|---|---|
zh | 中文 | en | English | ja | 日本語 | ko | 한국어 |
es | Español | fr | Français | de | Deutsch | ru | Русский |
pt | Português | it | Italiano | ar | العربية | tr | Türkçe |
vi | Tiếng Việt | th | ไทย | id | Bahasa Indonesia | hi | हिन्दी |
不传 --lang 时按系统 locale 自动判断(例如 LANG=ja_JP.UTF-8 → 日文提示)。当服务器或终端的 locale 不是 UTF-8 时(大厂云精简镜像常见 LANG=C),脚本会自动改用纯 ASCII 符号 [ok],未显式指定语言时还会把提示文字退回英文,并在开头说明原因——这是为了避免任何乱码。想强制显示你的语言可用:--lang xx --unicode。
管道方式传参要加 bash -s --:
# 日文提示 + 日文面板 curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ja # 俄文提示 + 自定义目录和端口 curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ru --dir /opt/my-panel --port 8080 # 老终端 / GBK 终端怕乱码:纯 ASCII 输出(中文提示 + [ok] 符号) curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang zh --ascii # 阿拉伯语(RTL 界面) curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ar
也可以先下载再运行(交互式,会逐步询问语言、目录、升级确认):
curl -fsSL https://ssheverywhere.com/install.sh -o install.sh && bash install.sh
> 大厂云(腾讯云 / 阿里云)默认禁用 root 登录。显式传的 --dir 会被优先尊重;只有当前用户对该目录没有写权限时,脚本才会自动改到你的 HOME 目录(~/ssh-everywhere),并在输出里明确告知「你传的哪个目录、为什么被换掉、想装到那里就用 root 运行」。
2. 升级
再次运行安装命令即可,脚本内置版本检测,发现新版本会提示升级(数据保留、全自动):
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --yes
--yes 表示升级时自动确认,无需交互。
3. 卸载
默认目录卸载(交互式,推荐)
curl -fsSL https://ssheverywhere.com/uninstall.sh -o uninstall.sh && bash uninstall.sh
脚本会先列出待卸载内容并询问确认,输入 yes 才会执行。
非交互 / 脚本化卸载
加 --yes 跳过确认(安全校验仍保留):
curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --yes
卸载参数
| 参数 | 说明 |
|---|---|
--dir <目录> | 安装目录(默认 /opt/ssh-everywhere,改过目录时必须指定) |
--keep-data | 卸载前把 data(服务器配置 / 数据库)备份成 tar 包 |
--yes | 非交互模式下确认卸载 |
4. 改了安装目录怎么卸载?(重点)
安装时如果用了 --dir 改了目录,卸载时必须用同样的 --dir 指定,否则脚本找不到安装目录会自动中止(这是安全保护,防止误删)。
目录路径不含空格
curl -fsSL https://ssheverywhere.com/uninstall.sh -o uninstall.sh && bash uninstall.sh --dir /opt/my-panel
管道方式(--dir 放在 bash -s -- 之后):
curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --dir /opt/my-panel --yes
目录路径含空格
如果目录名里带空格,必须用双引号把整个路径包起来,否则 shell 会把路径拆成两段、脚本找不到目录:
bash uninstall.sh --dir "/opt/my panel"
管道方式同理(引号包住整个路径,别只包一半):
curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --dir "/opt/my panel" --yes
想保留数据再卸载
bash uninstall.sh --dir /opt/my-panel --keep-data
data(服务器配置 / 数据库)会被备份到 <安装目录>-data-backup-<时间戳>.tar.gz,卸载后可找回。
> 💡 建议:安装时就避免在目录名里用空格,改用短横线或下划线(如 my-panel、my_panel),能省掉引号带来的麻烦。
5. 安全说明
卸载脚本内置三层保护,避免误删:
1. 绝对路径校验 —— 拒绝相对路径。
2. 系统关键目录黑名单 —— 拒绝 /、/root、/etc、/usr、/var 等。
3. 安装目录指纹校验 —— 必须同时存在 VERSION 与 app.py 才会删除,否则中止。
> 卸载只删除面板本身,目标服务器 / 设备上的 Agent 不受影响(面板删除后它们会显示离线)。