后台密码备用重置方案
如果邮箱重置不可用,可以通过 SSH 在云服务器上重置后台密码。这个方法需要你电脑上的服务器 SSH 私钥,因此不会面向普通访客开放。
1. 打开 PowerShell
在 Windows 开始菜单搜索 PowerShell,打开后执行下面的命令。
2. 重置后台密码
方式 A:让系统随机生成一个新密码。
ssh -i "$env:USERPROFILE\.ssh\id_ed25519_aliyun_wangping" wangping@47.94.4.109 "cd ~/wiki-editor && python3 server.py --config ~/wiki-editor/config.json --reset-password"
命令成功后会输出 NEW_PASSWORD=...,把等号后面的新密码复制下来。
方式 B:自己设置新密码。执行后在本机 PowerShell 输入新密码,输入时屏幕不会显示明文。
$secure = Read-Host "New password" -AsSecureString
$ptr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)
try {
$plain = [Runtime.InteropServices.Marshal]::PtrToStringBSTR($ptr)
$b64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($plain))
} finally {
[Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ptr)
}
$remote = "cd ~/wiki-editor && WIKI_EDITOR_PASSWORD=`$(printf '%s' '$b64' | base64 -d) python3 server.py --config ~/wiki-editor/config.json --reset-password"
ssh -i "$env:USERPROFILE\.ssh\id_ed25519_aliyun_wangping" wangping@47.94.4.109 $remote
建议新密码至少 10 位,不要使用姓名、生日或常见弱密码。这个写法不使用远端交互输入,也不需要 ssh -t,比管道传 Bash 脚本更适合 Windows PowerShell。
通常做到第 2 步就够了。如果 https://mvwang.cn/admin/ 可以正常打开,重置命令成功后直接回到后台登录页,用新密码登录即可,不需要执行第 3、4 步。
只有在后台页面打不开、重置成功后仍无法登录、域名/HTTPS/Nginx 反向代理异常,或需要绕过域名入口进行救援时,才继续执行下面的第 3、4 步。
3. 救援步骤:重启后台服务
ssh -i "$env:USERPROFILE\.ssh\id_ed25519_aliyun_wangping" wangping@47.94.4.109 'if [ -f ~/wiki-editor/editor.pid ]; then old=$(cat ~/wiki-editor/editor.pid); if kill -0 "$old" 2>/dev/null; then kill "$old"; fi; fi; ~/wiki-editor/start.sh'
4. 救援步骤:打开本地隧道
ssh -i "$env:USERPROFILE\.ssh\id_ed25519_aliyun_wangping" -L 8788:127.0.0.1:8788 wangping@47.94.4.109
保持这个窗口不要关闭,然后在浏览器打开 http://127.0.0.1:8788/admin/,用新密码登录。域名入口正常时,仍优先使用 https://mvwang.cn/admin/。
如果命令提示私钥不存在、连接失败或权限不足,再回到 Codex 让我排查 SSH 或服务器服务状态。