搬瓦工机场
Just My Socks教程

Ubuntu 系统 Shadowsocks 安装教程:apt 安装 shadowsocks-libev

本文于 2026-06-05 17:34 更新,部分内容具有时效性,如有失效,请留言

本文分享 Ubuntu 系统安装 Shadowsocks 的实测过程,使用 Ubuntu 官方软件源中的 shadowsocks-libev 软件包部署 SS 服务端。和常见 SS 一键脚本不同,本文不依赖第三方脚本,而是通过 apt 安装软件包,再手动修改 config.json 配置文件。

这篇教程适合已经有 Ubuntu VPS、希望通过系统软件源安装 Shadowsocks 的用户。本文实测环境为 Ubuntu 22.04.5 LTS,完整流程包括 shadowsocks-libev 安装、监听地址修改、端口和密码设置、服务状态检查、端口监听以及客户端参数整理。

一、Ubuntu 安装 Shadowsocks 方式说明

原来的 Ubuntu 系统 Shadowsocks / SS 一键脚本属于旧式安装方式,脚本会自动下载源码、安装依赖并尝试编译 shadowsocks-libev。这类脚本在早期系统上用起来方便,但脚本长期不更新后,新版 Ubuntu 上容易出现源码结构、依赖版本或编译命令不匹配的问题。

本站这次在 Ubuntu 22.04.5 LTS 上重新测试旧版 Ubuntu SS 一键脚本,安装过程卡在 shadowsocks-libev 编译阶段,并出现下面的错误:

./configure: No such file or directory
make: *** No targets specified and no makefile found.  Stop.

这说明旧脚本没有完成安装,不适合作为新版 Ubuntu Shadowsocks 教程的主流程。因此本文改用 Ubuntu 官方软件源安装 shadowsocks-libev。这种方式不需要下载第三方脚本,安装、启动和卸载都交给系统软件包管理器处理。

如果您需要的是交互式 Shadowsocks 一键安装脚本,或者想安装 Shadowsocks-rust,可以查看本站新版 Shadowsocks 一键安装脚本教程:SS 一键脚本搭建 VPS 服务端

本文内容只演示 Ubuntu 官方源安装 shadowsocks-libev 的方法,两篇文章的路线不同,大家可以自取所需,选择适合自己的方式进行安装。

二、检查 Ubuntu 系统环境

开始前,需要先确认当前 VPS 使用的是 Ubuntu 系统。登录 SSH 后执行:

cat /etc/os-release

本文实测返回结果如下:

PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
UBUNTU_CODENAME=jammy
Ubuntu 22.04 系统版本信息

确认 VPS 使用 Ubuntu 22.04 环境,再继续安装 shadowsocks-libev

确认系统后,再继续安装。本文命令基于 Ubuntu 的 apt 软件源环境编写,不建议直接复制到 CentOS、AlmaLinux、Rocky Linux 或 Debian 机器上使用。

如果您使用的是 CentOS 系统,可以参考 搬瓦工 CentOS 系统各版本搭建 Shadowsocks / SS 详细教程。Debian 虽然同样使用 apt,但软件包版本、默认配置和服务文件可能不完全一样。

三、通过 apt 安装 shadowsocks-libev

先更新软件源,然后安装 shadowsocks-libev

apt update -y
apt install -y shadowsocks-libev

本文实测安装过程中,系统自动安装了 libbloom1libcork16libcorkipset1libjsonparser1.1 等依赖,并从 Ubuntu Jammy 的 universe 仓库安装 shadowsocks-libev

安装结果中可以看到软件包版本:

shadowsocks-libev 3.3.5+ds-7build1

安装完成后还会创建 systemd 服务链接:

Created symlink /etc/systemd/system/multi-user.target.wants/shadowsocks-libev.service → /lib/systemd/system/shadowsocks-libev.service.
Ubuntu 使用 apt 安装 shadowsocks-libev

通过 Ubuntu 官方软件源安装 shadowsocks-libev,并生成 systemd 服务

出现 Created symlink 后,说明 shadowsocks-libev.service 服务文件已经写入系统,并设置了开机启动链接。不过此时还不能直接连接,因为默认配置通常只监听本机地址,需要继续修改配置文件。

四、修改 shadowsocks-libev 配置文件

Ubuntu 官方源安装完成后,配置文件路径为:

/etc/shadowsocks-libev/config.json

先查看配置目录:

ls -l /etc/shadowsocks-libev/

本文实测返回结果如下:

total 4
-rw-r--r-- 1 root root 202 Jun  5 04:24 config.json
查看 Ubuntu shadowsocks-libev 配置文件位置

确认 config.json 位于 /etc/shadowsocks-libev/ 目录

继续查看默认配置内容:

cat /etc/shadowsocks-libev/config.json

默认配置内容如下:

{
    "server":["::1", "127.0.0.1"],
    "mode":"tcp_and_udp",
    "server_port":8388,
    "local_port":1080,
    "password":"随机密码",
    "timeout":86400,
    "method":"chacha20-ietf-poly1305"
}
查看 Ubuntu shadowsocks-libev 默认 config.json 配置

默认配置只监听本机地址,外部客户端无法直接连接

这份默认配置的关键问题在 server 一项。::1127.0.0.1 都是本机地址,只允许本机访问,外部客户端无法通过 VPS IP 连接,所以需要改成 0.0.0.0。另外,默认端口、密码和加密方式也可以按自己的客户端配置习惯重新设置。

修改前先备份原配置:

cp /etc/shadowsocks-libev/config.json /etc/shadowsocks-libev/config.json.bak

然后写入新的 SS 服务端配置:

cat > /etc/shadowsocks-libev/config.json <<'EOF'
{
    "server":"0.0.0.0",
    "mode":"tcp_and_udp",
    "server_port":12345,
    "password":"bwgss123456",
    "timeout":300,
    "method":"aes-256-gcm"
}
EOF

本文配置项说明如下:

  • server:监听地址,设置为 0.0.0.0,允许外部客户端连接
  • mode:连接模式,使用 tcp_and_udp
  • server_port:SS 端口,本文演示为 12345
  • password:客户端连接密码,正式使用时请改成自己的复杂密码
  • timeout:连接超时时间,本文使用 300
  • method:加密方式,本文使用 aes-256-gcm

写入后再次查看配置文件:

cat /etc/shadowsocks-libev/config.json

本文实测修改后的配置如下:

{
    "server":"0.0.0.0",
    "mode":"tcp_and_udp",
    "server_port":12345,
    "password":"bwgss123456",
    "timeout":300,
    "method":"aes-256-gcm"
}
Ubuntu 修改 shadowsocks-libev 的 config.json 配置

将监听地址改为 0.0.0.0,并设置 SS 端口、密码和 aes-256-gcm

五、启动 shadowsocks-libev 并检查端口监听

配置文件修改完成后,重启 shadowsocks-libev 服务:

systemctl restart shadowsocks-libev

然后查看服务状态:

systemctl status shadowsocks-libev --no-pager

本文实测服务状态如下,关键是 Active: active (running)

● shadowsocks-libev.service - Shadowsocks-libev Default Server Service
     Loaded: loaded (/lib/systemd/system/shadowsocks-libev.service; enabled; vendor preset: enabled)
     Active: active (running)
   Main PID: 7443 (ss-server)
     CGroup: /system.slice/shadowsocks-libev.service
             └─7443 /usr/bin/ss-server -c /etc/shadowsocks-libev/config.json
查看 Ubuntu shadowsocks-libev 服务运行状态

服务状态显示 active running,说明 shadowsocks-libev 已正常运行

这一步可以确认两件事:服务名是 shadowsocks-libev,实际运行进程是 ss-server。以后启动、停止、重启和查看状态都使用这个服务名。

常用管理命令如下:

systemctl start shadowsocks-libev
systemctl stop shadowsocks-libev
systemctl restart shadowsocks-libev
systemctl status shadowsocks-libev --no-pager

接着检查端口监听状态。本文演示端口是 12345,执行:

ss -tulnp | grep 12345

本文实测返回结果如下:

udp   UNCONN 0      0      0.0.0.0:12345      0.0.0.0:*    users:(("ss-server",pid=7443,fd=6))
tcp   LISTEN 0      1024   0.0.0.0:12345      0.0.0.0:*    users:(("ss-server",pid=7443,fd=5))
查看 Ubuntu Shadowsocks 端口监听状态

TCP 和 UDP 都在监听 SS 端口,进程为 ss-server

这里能看到 TCP 和 UDP 都在监听 12345,并且进程名为 ss-server,说明 Ubuntu Shadowsocks 服务端已经开始监听客户端连接。

再检查开机自启状态:

systemctl is-enabled shadowsocks-libev

本文实测返回:

enabled

返回 enabled,说明服务器重启后 shadowsocks-libev 会自动启动。如果您的结果不是 enabled,可以执行下面的命令设置开机自启:

systemctl enable shadowsocks-libev

接着检查系统是否启用了 ufw 防火墙:

ufw status

本文测试机器返回:

-bash: ufw: command not found

这表示当前系统没有安装 ufw,不代表 Shadowsocks 安装失败。此时如果客户端无法连接,重点检查 VPS 商家后台的安全组、防火墙或入站规则,确认已经放行 SS 端口的 TCP 和 UDP。

检查 Ubuntu shadowsocks-libev 开机自启和 ufw 状态

enabled 表示 shadowsocks-libev 已开机自启,ufw 未安装不影响服务运行

六、客户端添加 Shadowsocks / SS 节点

服务端安装完成后,本地电脑或手机需要添加 Shadowsocks 节点。客户端填写内容和 config.json 配置一一对应。

客户端字段 填写内容
服务器地址 填写 VPS IP 地址
端口 12345,或者您自己设置的端口
密码 填写 config.json 里的 password
加密方式 aes-256-gcm
插件 不填写

Windows、macOS、Android、iOS 上的 Shadowsocks 客户端界面不一样,但都需要填写服务器 IP、端口、密码和加密方式。本文没有安装 SIP003 插件,所以客户端插件位置保持为空。

如果您使用 iPhone 或 iPad,可以在 Shadowrocket 等支持 Shadowsocks 的客户端里添加这个 SS 节点。

这里的 Shadowrocket Ubuntu 并不是在 Ubuntu 里安装 Shadowrocket,而是 Ubuntu 负责运行服务端,手机端通过 Shadowrocket 连接;具体客户端填写步骤可以参考 iOS(苹果手机)系统 Shadowsocks 客户端配置使用教程

客户端添加后无法连接时,不要先改协议或乱换加密方式。先确认客户端参数和 /etc/shadowsocks-libev/config.json 里填写的端口、密码、加密方式保持一致。

七、Ubuntu Shadowsocks 连接问题排查

Ubuntu 安装 Shadowsocks 后,服务端显示运行不代表客户端一定能连上。遇到连接失败时,建议按下面顺序检查。

1、检查 config.json 配置文件

先查看当前服务端配置:

cat /etc/shadowsocks-libev/config.json

重点检查 server_portpasswordmethod 是否和客户端填写一致。还要确认 server 是否为 0.0.0.0,否则外部客户端可能无法连接。

2、检查 shadowsocks-libev 服务状态

运行下面的命令:

systemctl status shadowsocks-libev --no-pager

如果没有看到 active (running),可以先重启服务:

systemctl restart shadowsocks-libev

如果重启失败,再回头检查 config.json 是否少了逗号、引号或大括号。

3、检查 SS 端口监听

把下面命令里的 12345 换成自己的 SS 端口:

ss -tulnp | grep 12345

正常结果应该同时看到 TCP 和 UDP。如果没有输出,说明 ss-server 没有监听这个端口,需要检查服务状态和配置文件。

4、检查防火墙和安全组

先查看当前系统是否有 ufw

ufw status

本文测试机器返回:

-bash: ufw: command not found

这说明当前系统没有安装 ufw,不是 Shadowsocks 安装失败。如果您的 VPS 后台有安全组、防火墙、入站规则,需要在后台放行 SS 端口。

如果您的系统启用了 ufw,可以放行本文演示端口的 TCP 和 UDP:

ufw allow 12345/tcp
ufw allow 12345/udp
ufw reload

云服务器后台规则一般可以在 Firewall、Security Group、Network、防火墙或入站规则里找到。协议选择 TCP 和 UDP,端口填写您在 config.json 里设置的 server_port

八、常见问题

下面整理几个 Ubuntu 安装 Shadowsocks 时容易遇到的问题,主要涉及旧版一键脚本、官方源安装、默认监听地址、Shadowrocket 连接和卸载命令。安装过程中遇到不确定的地方,可以先按这些问题对照检查。

1、Ubuntu 还能用 Shadowsocks 一键安装脚本吗?

能不能用取决于脚本是否还在维护。本站这次测试旧版 Ubuntu SS 一键脚本时没有安装成功,所以本文改用 Ubuntu 官方源安装 shadowsocks-libev。如果您需要新版交互式安装流程,可以参考前面提到的 Shadowsocks 一键安装脚本教程。

2、apt 安装 shadowsocks-libev 和 SS 一键脚本有什么区别?

apt 安装使用 Ubuntu 官方软件源里的 shadowsocks-libev 包,安装、升级、卸载都通过系统包管理器完成。SS 一键脚本通常会自行下载脚本、添加仓库、编译源码或引导用户输入参数。本文选择官方源安装,是为了避开旧脚本在 Ubuntu 22.04 上编译失败的问题。

3、为什么默认配置改完前客户端连不上?

默认配置里的 server 可能只监听 127.0.0.1::1。这两个地址只允许本机访问,外部客户端不能通过 VPS IP 连接。把 server 改成 0.0.0.0 后,再配合端口放行,外部客户端才有连接条件。

4、Shadowrocket 可以连接本文搭建的 SS 节点吗?

可以。Shadowrocket 支持添加 Shadowsocks 节点,填写 VPS IP、端口、密码和 aes-256-gcm 加密方式即可。本文没有配置插件,Shadowrocket 里也不要填写插件参数。

5、这套 Ubuntu Shadowsocks 安装方式适合多用户吗?

本文使用 shadowsocks-libev 演示单个 SS 服务端配置,适合个人自用。如果您需要多用户、多端口或不同用户独立配置,本文这套官方源安装方式不是最省事的路线,可以参考 V2Ray 多用户配置教程:同端口不同 UUID 与多端口配置教程

6、如何卸载 shadowsocks-libev?

先停止服务:

systemctl stop shadowsocks-libev

再卸载软件包:

apt remove --purge -y shadowsocks-libev

如果确定不再保留配置文件,可以删除配置目录:

rm -rf /etc/shadowsocks-libev

九、总结

本文完成了 Ubuntu 系统安装 Shadowsocks 的实测流程:通过 apt 从官方源安装 shadowsocks-libev,修改 /etc/shadowsocks-libev/config.json,把监听地址改为 0.0.0.0,设置 SS 端口、密码和 aes-256-gcm 加密方式,然后检查 shadowsocks-libev 服务状态、端口监听和开机自启。

这篇文章适合不想继续使用旧版 Ubuntu SS 一键脚本、希望通过系统软件源部署 Shadowsocks 的用户。如果您需要 Shadowsocks-rust 或交互式脚本安装方式,可以查看本站新版 Shadowsocks 一键安装脚本教程;如果只是想在 Ubuntu VPS 上部署一个基础 SS 节点,按本文的官方源安装方式完成配置即可。

Just My Socks 套餐对比与选择
选择提示如果您只是想直接使用代理服务,不想自己购买 VPS、安装系统和维护环境,可以优先考虑搬瓦工官方出品的 Just My Socks
自己搭建上网环境虽然自由,但面对晚高峰线路抽风和 AI 工具(如 Gemini、ChatGPT)频繁的 IP 封锁,维护成本其实很高。如果你想追求极致的省心和纯净度,搬瓦工官方机场(Just My Socks)是目前最好的替代方案。
搬瓦工机场不仅自带 CN2 GIA 高速线路,更重要的是 IP 权重高,能完美解锁各类主流 AI 权限。
下面是目前搬瓦工机场 JMS 详细的套餐介绍:
机房位置带宽流量设备价格购买
洛杉矶 5002.5Gbit500GB/月5台$5.88/月-$58.88/年购买
洛杉矶 10005Gbit1T/月无限$9.88/月-$98.88/年购买
洛杉矶 50005Gbit5T/月无限$48.99/月-$489.99/年购买
洛杉矶 100005Gbit10T/月无限$93.99/月-$948.99/年购买
香港 CMI+NTT2.5Gbps500GB/月5台$8.99/月-$89.99/年购买
香港 CMI+NTT5Gbps1T/月无限$14.90/月-$113.99/年购买
香港 CMI+NTT5Gbps5T/月无限$59.99/月-$599.99/年购买
香港 IPLC 专线300MB 独享300GB/月3台$21.00/月-$210.00/年购买
香港 IPLC 专线1G 独享1T/月无限$59.00/月-$589.00/年购买
香港 CN2 GIA100MB 独享100GB/月3台$34.99/月-$349.99/年购买
香港 CN2 GIA500MB 独享500GB/月5台$149.99/月-$1499.99/年购买
香港 CN2 GIA1G 独享1T/月无限$279.99/月-$2799.99/年购买
日本 CN2 GIA100MB 独享100GB/月3台$29.99/月-$299.99/年购买
日本 CN2 GIA200MB 独享500GB月5台$135.99/月-$1349.99/年购买
日本 CN2 GIA500MB 独享1T/月无限$239.00/月-$2399.00/年购买
日本 CN2 GIA700MB 独享5T/月无限$1135.00/月-$11395.00/年购买
伦敦 5002.5Gbps500GB/月5台$6.8/月-$67.99/年购买
伦敦 10005Gbps1T/月无限$11.29/月-$113.99/年购买
伦敦 50005Gbps5T/月无限$59.99/月-$559.99/年购买
需要 VPS 服务器?Just My Socks 更适合直接使用代理服务;如果您需要建站、部署项目、搭建环境或学习 Linux,可以选择搬瓦工 VPS,参考 搬瓦工在售 VPS 套餐整理与购买推荐
未经允许不得转载:搬瓦工教程 » Ubuntu 系统 Shadowsocks 安装教程:apt 安装 shadowsocks-libev
Vultr 最新优惠活动:新用户注册 Vultr 赠送 50-100 美元

Just My Socks (JMS) 官方线路深度解析与稳定上网方案

搬瓦工官方出品,专为解决网络封锁而生。支持被封自动更换 IP,无需担心失联。拥有 IPLC 专线与 CN2 GIA 顶级链路,全线套餐现货在售。使用专属优惠码 JMS9248225 (5.2% 循环折扣),即刻畅享极速互联。

JMS 套餐汇总JMS 购买教程