本教程仅适用于合法、合规且获得授权的网络用途。请遵守所在地法律法规、云服务商条款及网络服务规则;不要将服务器用于攻击、滥用或未经授权的访问。

一、准备工作

开始前,请准备好以下内容:

  • 一台云服务器或 VPS:推荐 Debian 12、Ubuntu 22.04/24.04,或 CentOS 系发行版。

  • VPS 登录信息:公网 IP、SSH 端口、用户名、密码或私钥。

  • 一个域名(可选):Shadowsocks 可以直接使用服务器 IP;如使用域名,请提前将 A 记录解析到 VPS 公网 IP。

  • SSH 连接工具:可使用 FinalShell、Windows Terminal、PuTTY,或在线 SSH 工具

    https://ssh.icmpmiao.org/

  • 支持 Shadowsocks 的本地客户端。

建议优先选择 Debian 或 Ubuntu,教程中的命令也以这两类系统为主。

二、连接 VPS 服务器

在 FinalShell 等 SSH 工具中新建连接,填写以下信息:

项目说明主机/IPVPS 提供商给出的公网 IP端口默认为 22;如服务商修改过,请填写实际端口用户名常见为 root、ubuntu、debian 或服务商指定用户名认证方式密码登录或 SSH 私钥登录

连接成功后,执行以下命令确认当前用户:

whoami

如果输出不是 root,请确认当前用户拥有 sudo 权限:

sudo -v

三、部署前的安全设置

\1. 更新系统

Debian / Ubuntu:

sudo apt update && sudo apt upgrade -y

CentOS / Rocky Linux:

sudo dnf update -y

\2. 设置时区(可选)

以中国上海时区为例:

sudo timedatectl set-timezone Asia/Shanghai timedatectl

\3. 配置云平台安全组

在云服务商后台的“安全组”“防火墙”或“入站规则”中:

  • 放行 SSH 端口,例如 22/tcp;
  • 部署完成后,再放行 Shadowsocks 实际使用的端口;
  • 云平台安全组和服务器系统防火墙需要同时放行。

四、一键部署 sing-box 与 Shadowsocks

安全提示: 以下是第三方远程脚本,会以 root 权限安装软件、写入配置和创建服务。执行前建议先阅读脚本内容并确认来源可信;生产环境更建议使用经过审核并固定版本的部署方案。

脚本地址:

https://raw.githubusercontent.com/caigouzi121380/singbox-deploy/main/install-singbox-yyds.sh

如果当前用户是 root,执行:

bash -c “$(curl -fsSL

https://raw.githubusercontent.com/caigouzi121380/singbox-deploy/main/install-singbox-yyds.sh

)”

如果当前是普通用户且拥有 sudo 权限,执行:

sudo bash -c “$(curl -fsSL

https://raw.githubusercontent.com/caigouzi121380/singbox-deploy/main/install-singbox-yyds.sh

)”

脚本会自动安装依赖、安装 sing-box,并引导创建节点配置。

五、交互配置示例:部署 Shadowsocks

\1. 输入节点名称

示例:

HK-01

节点名称仅用于自行区分服务器,可填写 HK-01、JP-Tokyo 或 US-LA 等。

\2. 选择协议

部署 Shadowsocks 时输入 1,即选择 Shadowsocks (SS)。

\3. 选择加密方式

建议选择 1,对应推荐方式:

2022-blake3-aes-128-gcm

如果本地客户端较旧、不支持 Shadowsocks 2022,可选择 2,对应:

aes-128-gcm

\4. 填写连接地址和端口

  • 使用服务器 IP:直接回车,通常会自动识别公网出口 IP;

  • 使用域名:填写已解析到 VPS 的域名,例如

    ss.example.com

  • 端口可直接回车随机生成,也可以手动填写未被占用的端口,例如 34567。

避免使用 22、80、443、3306 等常见服务端口。

\5. 保存连接信息

部署完成后,终端会显示连接信息或 ss:// 导入链接。请安全保存以下内容:

  • 服务器地址或域名;
  • 端口;
  • 加密方式;
  • 密码;
  • 节点名称;
  • ss:// 导入链接。

密码和 ss:// 链接都属于访问凭据,请勿公开发布、截图分享或提交到代码仓库。

六、放行节点端口

假设部署时使用的 Shadowsocks 端口为 34567。

Debian / Ubuntu:UFW

sudo ufw allow 34567/tcp sudo ufw allow 34567/udp sudo ufw reload sudo ufw status numbered

CentOS / Rocky Linux:firewalld

sudo firewall-cmd –permanent –add-port=34567/tcp sudo firewall-cmd –permanent –add-port=34567/udp sudo firewall-cmd –reload sudo firewall-cmd –list-ports

如果没有 UDP 使用需求,可以只开放 TCP,以减少不必要的暴露面。

七、客户端导入

方法一:通过链接导入

复制脚本最后输出的 ss:// 链接,在支持 Shadowsocks 的客户端中选择“从剪贴板导入”或“导入 URL”。

方法二:手动添加

字段 填写内容
类型 Shadowsocks
地址 VPS 公网 IP 或域名
端口 部署时设置的端口
加密方式 与服务端一致
密码 脚本生成的密码
名称 自定义,例如 HK-01

保存后连接,并访问常用网站测试网络是否正常。

八、服务管理与状态检查

查看服务状态:

sudo systemctl status sing-box

启动、停止与重启服务:

sudo systemctl start sing-box sudo systemctl stop sing-box sudo systemctl restart sing-box

设置开机自启:

sudo systemctl enable sing-box

查看最近日志:

sudo journalctl -u sing-box -n 100 –no-pager

实时查看日志:

sudo journalctl -u sing-box -f

检查配置语法:

sudo sing-box check -c /etc/sing-box/config.json

九、备份与维护

备份配置:

sudo mkdir -p /root/sing-box-backup sudo cp -a /etc/sing-box /root/sing-box-backup/

建议定期完成以下工作:

  • 每月更新操作系统补丁;
  • 定期检查磁盘、内存与服务日志;
  • 修改配置前先备份;
  • 修改后先执行配置检查;
  • 定期更换节点密码;
  • 使用 SSH 私钥登录,并限制服务器管理权限。

十、常见问题排查

客户端无法连接

按以下顺序检查:

  1. 确认服务器地址、端口、密码和加密方式完全正确;
  2. 确认云平台安全组已放行节点端口;
  3. 确认服务器防火墙已放行节点端口;
  4. 确认 sing-box 服务正在运行:sudo systemctl status sing-box
  5. 查看服务日志:sudo journalctl -u sing-box -n 100 –no-pager

服务无法启动

先检查配置:

sudo sing-box check -c /etc/sing-box/config.json

再查看详细日志:

sudo journalctl -u sing-box -xe –no-pager

端口被占用

假设端口为 34567:

sudo ss -lntup | grep 34567

如果端口已被其他程序占用,请更换端口,并同步更新云安全组、服务器防火墙和客户端配置。

结语

完成以上步骤后,你就拥有了一台可自行维护的 sing-box Shadowsocks 服务器。部署只是开始;保持系统更新、限制访问权限、定期备份配置并检查日志,才能让服务长期稳定运行。