2026/9/10 16:08:18

如何将 code-server 登录密码以 argon2 哈希形式存储(hashed-password)?

如何将 code-server 登录密码以 argon2 哈希形式存储(hashed-password)? 如何将 code-server 登录密码以 argon2 哈希形式存储hashed-password【免费下载链接】code-serverVS Code in the browser项目地址: https://gitcode.com/GitHub_Trending/co/code-servercode-server 默认使用密码认证安装时会在配置文件中生成一个明文密码登录时必须从配置文件里复制出来填入。如果你希望配置文件里不留明文凭据而是只保存一个 argon2 哈希就可以改用hashed-password字段把真实密码用 argon2 计算成哈希后写进配置登录时输入明文密码服务端用哈希做校验。下面说明完整的操作步骤以及 Docker Compose 场景下的一个易错点。前提是你已经安装好 code-server并且它的配置文件里auth是password默认值。确认配置文件位置与当前内容code-server 启动时会创建默认配置文件路径为~/.config/code-server/config.yaml。其默认内容形如bind-addr: 127.0.0.1:8080 auth: password password: mew...22 # Randomly generated for each config.yaml cert: false其中auth: password表示启用密码认证password是明文密码文档示例值每台机器随机生成。如果你用了--config标志或$CODE_SERVER_CONFIG环境变量改过位置就以实际位置为准。这一步是为了确认你确实要改auth: password的那份配置避免改错文件。用 argon2-cli 生成密码哈希在服务器上执行下面命令生成哈希把thisismypassword换成你的真实密码并务必保留引号echo -n thisismypassword | npx argon2-cli -e命令会输出一行 argon2 哈希文档给出的示例结果仅为文档示例你的输出会不同$argon2i$v19$m4096,t3,p1$wst5qhbgk2lu1ih4dmuxvg$ls1alrvdiwtvzhwnzcm1dugg5dto3dt1d5v9xtlws4记下这一整行它是后面要写入配置的哈希值。把配置中的 password 换成 hashed-password编辑~/.config/code-server/config.yaml保留auth: password用hashed-password字段存上一步得到的哈希替换掉原来的password字段auth: password hashed-password: $argon2i$v19$m4096,t3,p1$wST5QhBgk2lu1ih4DMuxvg$LS1alrVdIWtvZHwnzCM1DUGg5DTO3Dt1D5V9XtLws4注意两点hashed-password字段优先于password。两者同时存在时服务端会用hashed-password做认证因此可以删掉旧的明文password字段达到配置文件不留明文密码的目的。hashed-password只能通过$HASHED_PASSWORD环境变量或配置文件传入不能像普通参数那样直接放在命令行上把它写进config.yaml或作为$HASHED_PASSWORD传入即可。重启 code-server 使配置生效改完配置后重启服务让改动生效sudo systemctl restart code-server$USER该命令会用 systemd 重启当前用户的 code-server 实例$USER是运行 code-server 的登录用户保留原样即可由 shell 展开。验证登录是否正常在浏览器打开 code-server 的登录页输入你的明文真实密码不是那串哈希。服务端会用存储的 argon2 哈希校验该密码校验通过即进入编辑器说明hashed-password已生效。如果登录一直失败优先核对生成哈希时是否漏掉引号、或误把哈希本身当成了要存/要输入的值配置里的auth是否仍是password改成none后密码认证会被关闭若auth: password但既没有password也没有hashed-passwordcode-server 启动时会直接报错提示需通过配置文件或$PASSWORD/$HASHED_PASSWORD提供密码。Docker Compose 下的转义说明如果你用 Docker Compose 文件注入哈希Compose 会把单个$当作变量引用开头。这时需要把哈希里的每个$写成$$文档给出的写法示例- HASHED_PASSWORD$$argon2i$$v19$$m4096,t3,p1$$wST5QhBgk2lu1ih4DMuxvg$$LS1alrVdIWtvZHwnzCM1DUGg5DTO3Dt1D5V9XtLws4只有在 Compose 环境下才需要这种$$处理直接编辑config.yaml时保持单个$即可不要把两种写法混用。相关文档密码认证、限流与暴露 code-server 的安全做法见 docs/guide.md。修改密码、哈希存储及登录限流每分钟两次、另加每小时十二次等问题的完整说明见 docs/FAQ.md。【免费下载链接】code-serverVS Code in the browser项目地址: https://gitcode.com/GitHub_Trending/co/code-server创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考