1281 字
6 分钟
保姆级教程:Docker 部署 qBittorrent 并通过 SSH 隧道实现高安全访问

保姆级教程:Docker 部署 qBittorrent 并通过 SSH 隧道实现高安全访问#

很多朋友在 VPS 上部署 qBittorrent 时,习惯直接暴露 WebUI(管理界面)的端口。但这样非常容易被公网扫描器盯上,存在极大的安全隐患。

如果你想兼顾下载能力极致的安全性,最好的方案是:让 qBittorrent 的 WebUI 只绑定本地回环地址(127.0.0.1),然后通过 SSH 隧道加密访问。这样公网绝对无法直接访问你的管理面板,而你本地却能像访问本地软件一样轻松管理。

这篇教程将手把手带你完成整个配置过程!

🛠️ 第一步:前期准备工作#

在开始配置 Docker 之前,为了避免下载后出现文件权限问题(比如无法删除、无法读取),我们需要获取当前 VPS 用户的 UID 和 GID。

在你的 VPS 终端中输入以下命令:

Bash

id

你会看到类似 uid=1000(user) gid=1000(user) 的输出。请记住这两个数字(通常普通用户是 1000,root 用户是 0),后面配置需要用到。

📁 第二步:创建目录与配置文件#

我们需要为 qBittorrent 创建专门的文件夹来存放配置文件和下载的数据。

  1. 创建并进入目录

Bash

mkdir -p qbittorrent/config qbittorrent/downloads
cd qbittorrent

这样我们就建立了一个清晰的目录结构:

Plaintext

qbittorrent/
├── docker-compose.yml
├── config/ # 存放配置文件
└── downloads/ # 存放下载的资源
  1. 创建 docker-compose.yml 文件

    输入命令创建并编辑文件:

Bash

nano docker-compose.yml
  1. 填入配置代码(记得将 PUIDPGID 改成你刚才获取的数字):

YAML

services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: unless-stopped
environment:
- PUID=1000 # 改成你的 uid
- PGID=1000 # 改成你的 gid
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
volumes:
- ./config:/config
- ./downloads:/downloads
ports:
# 核心安全配置:WebUI 仅绑定在本地 127.0.0.1,公网无法直接访问
- "127.0.0.1:8080:8080"
# BT 对外通信端口,保持公网映射以保证下载速度
- "6881:6881/tcp"
- "6881:6881/udp"

(保存退出方法:按 Ctrl + O,然后回车确认,最后按 Ctrl + X 退出)

💡 进阶提示6881BT 的对外通信端口,和 WebUI 的 8080 是两回事。为了保证下载速度和正常的连接数,建议保留 6881 的 TCP/UDP 映射。 如果你有极端的安全需求,希望 VPS “除了 SSH 之外完全不开放任何端口”,可以把 6881 的两行映射删掉。但这会变成纯“出站下载/做种”模式,入站连接能力会变差(不太推荐)。

🚀 第三步:启动容器并获取初始密码#

  1. 一键启动

    docker-compose.yml 所在的目录下执行:

Bash

docker compose up -d
  1. 获取 WebUI 初始密码: 最新版的 qBittorrent 出于安全考虑,会在首次启动时随机生成一个密码。我们可以通过查看日志来获取它。输入以下命令:

Bash

docker logs qbittorrent 2>&1 | grep -i password

如果你是首次启动,日志中会清晰地显示临时密码:

Plaintext

The WebUI administrator username is: admin
The WebUI administrator password was not changed from the default: (这里是一串随机字符)

默认账号admin

默认密码:复制日志中生成的那串字符。

如果容器已经运行了很久,或者你想看完整的近期日志,可以用 docker logs qbittorrent 2>&1 | tail -50 来查看最后 50 行信息。

🔒 第四步:建立 SSH 加密隧道(核心魔法)#

现在服务端已经跑起来了,但由于我们限制了只允许本地访问(127.0.0.1),你在电脑的浏览器里直接输入 VPS 的 IP 是打不开网页的。

这时候就需要 SSH 隧道 上场了!

打开你本地电脑(比如你的 Windows、Mac 或 Linux 系统终端),执行以下命令:

Bash

ssh -L 8080:127.0.0.1:8080 root@你的VPS_IP
ssh -p vps端口 -i ~/.ssh/密钥路径 -L 8080:127.0.0.1:8080 用户名@VPSIP

(注意:将 root 替换为你的 VPS 用户名,你的VPS_IP 替换为实际 IP。执行后可能需要输入 VPS 的密码)

这个命令的意思是:把本地电脑的 8080 端口,通过 SSH 加密通道,安全地映射到 VPS 的 127.0.0.1:8080 上。

它的网络访问路径非常安全,如下所示:

Plaintext

你的电脑 (浏览器访问)
│ SSH 军工级加密隧道
VPS 的 127.0.0.1:8080
Docker 里的 qBittorrent

🌐 第五步:登录并修改密码#

  1. 在隧道保持开启(刚刚那个终端不要关)的状态下,打开你电脑的浏览器,访问: 👉 [http://127.0.0.1:8080](http://127.0.0.1:8080)
  2. 输入刚才获取的账号(admin)和临时密码登录。
  3. 【极其重要】 登录成功后,请立刻修改为你自己的密码! 进入:Tools(工具) → Options(选项) → WebUI → Authentication(验证) 里面进行修改。

🎉 总结#

通过这种方式,你的 qBittorrent 管理面板在公网上是绝对隐身的。黑客或扫描器即便扫描你的 VPS,也根本找不到 WebUI 的入口。每次你需要管理下载任务时,只需要在本地电脑敲一行 SSH 命令打通隧道即可,非常适合注重隐私和安全的玩家!

保姆级教程:Docker 部署 qBittorrent 并通过 SSH 隧道实现高安全访问
https://blog.wlens.top/posts/保姆级教程docker-部署-qbittorrent-并通过-ssh-隧道实现高安全访问/
作者
Lao Wang
发布于
2026-08-22
许可协议
CC BY-NC-SA 4.0