📑 本文导航
若确认账号密码被篡改;SSH 可登录,提供两套方案,优先 WP-CLI(最简单、最规范),备选 MySQL 命令行。

⚠️重要:登录成功后立刻做安全排查!有人修改后台密码代表网站存在入侵入口。
方案一:WP-CLI(首选,强烈推荐)
1. SSH 进入网站根目录
bash
# 进入你的WordPress文件夹,示例(改成你实际路径) cd /www/wwwroot/你的域名 2. 检查是否装有 wp-cli
bash
wp --info - 有输出版本信息 → 直接执行重置;
- 提示 command not found → 看文末快速安装 wp-cli。
3. 查看所有管理员账号(确认用户名)
bash
wp user list --role=administrator 你会看到 ID、user_login(登录用户名)。
4. 重置密码(二选一)
bash
# 方式A:按用户名重置(替换admin、新密码) wp user update admin --user_pass='新高强度密码123!abc' # 方式B:按用户ID重置(管理员一般ID=1) wp user update 1 --user_pass='新高强度密码123!abc' 出现
Success: Updated user 即成功,直接访问 /wp-admin 使用新密码登录。⚠️安全提醒:命令行明文密码会短暂留在 shell 历史;临时应急没问题,登录后台立刻再次修改密码。
方案二:MySQL 命令行(无 WP-CLI 时备用)
步骤 1:读取数据库账号(wp-config.php)
bash
cat wp-config.php | grep DB_ 获取:
- DB_NAME 数据库名
- DB_USER 数据库用户名
- DB_PASSWORD 数据库密码
步骤 2:登录 MySQL
bash
mysql -u数据库用户名 -p # 回车后输入数据库密码 步骤 3:切换数据库,执行重置
sql
USE 数据库名; -- 先查看管理员列表,确认用户名/ID SELECT ID,user_login FROM wp_users; -- 重置密码(admin替换成你的用户名;引号内填写新密码) UPDATE wp_users SET user_pass = MD5('新密码123456!') WHERE user_login = 'admin'; exit; 原理:WP 兼容 MD5,首次登录 WP 会自动把 MD5 升级为标准$P$加盐哈希。 注意表前缀!如果你的表不是wp_users(比如wp123_users),语句同步修改。
WP-CLI 一键安装(如果服务器没有)
在网站目录执行:
bash
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar mv wp-cli.phar /usr/local/bin/wp 安装完成后即可使用上面 wp 命令。
✅最重要:密码被篡改,必须立刻做安全排查(重中之重)
有人能修改 WP 管理员密码,说明网站已经失陷,只改密码治标不治本:
- 列出全部管理员,检查陌生账号
bash
wp user list --role=administrator 发现不明管理员直接删除:
wp user delete 可疑ID --yes- 检查恶意插件 / 主题
bash
wp plugin list wp theme list 删除你没有主动安装的插件。
- 修改三处密码
- WP 后台密码;
- 网站数据库密码;
- 服务器 SSH 登录密码。
- 检查 wp-config.php、网站目录有无陌生后门 php 文件;
- 安装安全插件:Wordfence / WP Cerber,开启登录限制、2FA 二次验证;
- 不要继续使用浏览器自动填充作为唯一凭据,后台建议单独密码管理器保存。
常见踩坑
- 执行 wp 命令提示权限不足:增加
--allow-root
bash
wp user update admin --user_pass='xxx' --allow-root - 修改密码依旧登录失败:
- 确认路径是真正 wordpress 根目录(存在 wp-login.php、wp-config.php)
- 网站有缓存插件:清理缓存
wp cache flush