前言

前段时间准备登录一台很久没用过的测试服务器,结果连续输了三次密码都提示错误。一开始我以为自己记错了,后来翻遍浏览器、备忘录和微信收藏才发现,问题不是密码错了,而是我根本不知道密码被自己存到了哪里。

这几年注册的账号越来越多,邮箱、NAS、云服务器、GitHub、Docker Hub、各种AI平台和开发工具,少说也有上百个。为了方便,有时候会让浏览器自动保存;为了保险,又会额外记在备忘录里。时间久了,密码倒是没丢,管理密码的方法却越来越混乱。

更麻烦的是,很多重要账号其实关联着自己的数字资产。服务器密码丢了可以重置,但如果涉及数据库、NAS或者一些长期运营的服务,频繁找密码、改密码不仅浪费时间,也会带来额外风险。因此我开始认真思考一个问题:有没有一种方式,既能像密码管理器一样方便,又不用把所有密码交给第三方平台保管?

后来折腾 NAS 的时候,我发现答案或许就在自己手里。既然照片、文档、知识库都能放在 NAS 上,那么密码库为什么不行?而 Password-XL 正是一套专门为此设计的开源密码管理方案,它支持自托管部署、主密码加密以及跨设备访问,让密码真正回到自己掌控的环境中。

image-20260113172314070

1.Password-XL是什么?

Password-XL是一款开源、轻量、自托管的Web密码管理器,专为注重隐私与安全的个人用户和家庭设计。它让你无需依赖Password、Bitwarden等第三方云服务,即可在本地(如NAS、树莓派或私有服务器)搭建属于自己的密码保险箱。

核心特性:

  • 完全自托管:所有数据存储在你自己的设备上,不上传、不共享、不追踪。
  • 端到端加密:支持主密码加密,即使数据库泄露,密码也无法被读取。
  • 简洁直观的Web界面:响应式设计,手机、平板、电脑均可流畅访问。
  • 多平台同步:通过内网或内网穿透(如cpolar),实现跨设备安全访问。
  • 开源免费:代码公开透明,社区驱动,无隐藏收费。
  • Docker一键部署:轻松集成到NAS(如群晖、TrueNAS)或Linux服务器。

2.在飞牛OS上部署Password-XL

打开文件管理,创建一个docker文件(我是用来存放docker部署的应用):

5ba32524d705e39b5096223819331de9

右键点击,选择“详细信息”:

202660636f3e318d7acc810bf64ec0ef

复制它的原始路径:

9e378c486f1d66d68a6b2ea49971c25b

打开飞牛NAS的系统设置–SSH–SSH功能–启用:

image-20260113165130666

  • 使用终端软件通过SSH连接到NAS,并切换到root状态下。
  • 进入到上面复制的文件路径。
# 将 /vol1/1000/docker 换成你实际的文件夹路径
cd /vol1/1000/docker
  • 创建并进入项目文件夹
mkdir password-xl && cd password-xl
  • 创建子文件夹
mkdir -p password-xl-service/password-xl-data
  • 进入后端服务文件夹
cd password-xl-service

9443c313fe347a146c4998b724545075

  • 创建用户列表文件
vi password-xl.toml

按需修改下面的模板代码,需要多少用户就创建多少个。

[[user]]
username = "u1"
password = "123456"
[[user]]
username = "u2"
password = "123455"

82b0a57f166949766731fbdb9471049b

  • 返回上一层文件夹路径
cd ..
  • 编辑docker-compose.yml项目文件
vi docker-compose.yml
services:
  password-xl-web:
    image: huangypeng/password-xl-web
    container_name: password-xl-web
    restart: unless-stopped
    ports:
      - "8080:80"    # 左侧的8080前端端口可自由修改
  password-xl-service:
    image: huangypeng/password-xl-service
    container_name: password-xl-service
    restart: unless-stopped
    ports:
      - "8081:8080"    # 左侧的8081后端端口可自由修改
    volumes:
      - ./password-xl-service:/password-xl-service

1d72d944b11d146cbdddb3593c150302

  • 执行命令创建项目容器
docker compose up -d
  • 查看项目容器的实时日志
docker compose logs -f

22768adffa502ea2e5d258f89d7f5ffe

打开浏览器,以飞牛的IP地址+设置的端口进行访问 以本机为例:http://192.168.42.147:8080

85328173f939897880132c94a7221d71

我们可以看到,访问成功啦!

3.如何使用Password-XL?

点击私有服务,点击登录:

服务地址: http://192.168.88.130:8081

用户名: 前面password-xl.toml文件中设置的

密码: 前面password-xl.toml文件中设置的

822554756bb1663879547c8e4687bb79

保存好提示的信息:

cc680397d38ebdbaf1a50316fc1a856e

设置一个主密码,可以选择标准密码和手势密码。

32ff957b7e4365fbf4ac97b0034d691b

然后就登录进来啦!
d7787b4f3c08cb2864092bd32f66a8b1

这个网页的安全性特别好,只要你点击了别的东西,一回来就会让你输入主密码:

81ca78494e66acd779d68cd3be976922

点击设置,还有很多功能:

ad137a6a411a691867281fe816dcce9f

添加一个密码:

image-20260113172215950

我们可以看到,添加成功,页面是非常简洁美观的:

image-20260113172257435

我们成功部署了Password-XL!本地密码管理从未如此安全又便捷!

但……等等!如果某天深夜在家,突然想查一个重要密码——却发现Password-XL 部署在公司NAS上,根本无法访问?难道要等到第二天回公司才能解锁?那可太不方便了!

别担心!内网穿透神器 ——cpolar来拯救你!

借助cpolar,你可以轻松将部署在公司内网(NAS)上的Password-XL服务,安全地映射到公网。无论你是在家、在咖啡馆,还是在旅途中,只需一个链接,就能随时随地访问你的私有密码库!

安全可靠| 一键穿透| 全球可达

现在就用cpolar打通内外网壁垒,让Password-XL真正成为你“随身携带”的数字保险箱!

4.安装cpolar内网穿透

首先打开飞牛云NAS设置界面,开启ssh 连接,端口默认为22即可,开启后,我们就可以ssh 连接飞牛云NAS执行命令:

5f4dd052629beae55990037fb1cc7d73

然后我们通过输入飞牛云NAS的IP地址ssh远程连接进去,因为fnOS是基于Linux 内核开发的,所以我们可以按照cpolar的Linux安装方法进行安装:

09e2f65ca7688ad8d6791293491c8175

连接后执行下面cpolar Linux 安装命令:

sudo curl https://get.cpolar.sh | sh

再次输入飞牛云nas的密码确认后即可自动安装

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

afe8e53fc04d11c1a147129d43332429

Cpolar安装和成功启动服务后,在浏览器上输入飞牛云主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用官网注册的账号登录,登录后即可看到配置界面,接下来在web界面配置即可:

2ada61864d693faaac167c396ef8ad75

5.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:password,注意不要与已有的隧道名称重复

  • 协议:http

  • 本地地址:8080

  • 域名类型:随机域名

  • 地区:选择China Top

    点击创建:

image-20260113172847478

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20260113172933525

访问成功。

image-20260113172952506

6.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

image-20250909154450325

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是password,大家可以自定义。填写备注信息,点击保留。

image-20260113173139123

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20260113173200943

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20260113173234448

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20260113173307064

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20260113173329647

这样,我们就可以随时随地查看我们密码啦!

总结

很多人觉得密码管理器只是一个记录密码的工具,但当账号数量越来越多之后,它管理的其实已经是整个数字身份体系。从邮箱、服务器到 NAS、云平台,每一个账号背后都对应着重要的数据和权限。

Password-XL 最吸引人的地方,不是界面有多炫,也不是功能有多复杂,而是它把控制权重新交还给了用户。所有密码数据保存在自己的设备中,通过主密码进行保护,不需要依赖第三方服务,也不用担心订阅费用和平台策略变化。

对于已经拥有 NAS 的用户来说,这种方案尤其合适。NAS 本身就是家庭或个人的数据中心,而 Password-XL 则相当于把最重要的那串“钥匙”也放进了自己的保险柜。再结合 cpolar 提供的远程访问能力,无论是在办公室、家里还是出差途中,都能够安全访问自己的密码库。

说到底,密码管理的终极目标从来不是记住更多密码,而是不再被密码困扰。当所有账号都能被统一、安全地管理时,你才能真正掌握自己的数字生活。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐