PVE重置密码
  • PVE重置密码
  • 方法1: Debian单用户模式重置root密码
  • 重启系统
  • 方法2: 使用pve安装镜像引导后重置root密码
  • 验证LVM是否完整
  • 激活VG
  • 挂载lvm
  • 修改root密码
  • 二次密码忘记
  • 情景
  • 方法一 无法通过SSH远程登录PVE[服务器]()的时候
  • 方法二 可以通过SSH远程登录服务器的时候
  • 方法3: 修改`/etc/pve/user.cfg`
  • pve关闭yubikey认证
  • 查看二次认证列表
  • 修改/etc/pve/domains.cfg用户认证域配置文件
  • 修改/etc/pve/priv/tfa.cfg双因素配置文件

PVE重置密码

方法1: Debian单用户模式重置root密码

1、需要重启Debian,在启动界面,按 E 键进入启动项编辑。

PVE重置密码_pve

2、找到linux …… ro quiet这一行,

PVE重置密码_pve_02

ro quiet 改为 rw single init=/bin/bash ,按 Ctrl + X 键继续启动。

PVE重置密码_重启_03

3、待进入系统后,输入命令 passwd root 提示输入新密码,输入2次一样的新密码即可完成root密码修改

PVE重置密码_重启_04

重启系统

完成重置 Linux 密码后,重新启动系统以使用更改后的密码登录。要重新启动,请键入:

# 修改完成后重启系统即可。
exec /sbin/init
  • 1.
  • 2.

然后按下Enter键

方法2: 使用pve安装镜像引导后重置root密码

在重置密码之前:

  1. 先准备pve安装u盘,可以ultralisorufus等制作
  2. 制作后重启宿主机从u盘启动
  3. 启动后进入PVE安装程序,选择Install Proxmox VE (Debug mode)

进入命令行后按ctrl+d

PVE重置密码_服务器_05

成功进入但用户模式

PVE重置密码_配置文件_06

验证LVM是否完整
# 查看vs,应该有vg pve
vgs

# 查看lv,应该有data root
lvs
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

PVE重置密码_服务器_07

激活VG
# 激活所有 LVM 卷组(volume group)
vgchange -a y
  • 1.
  • 2.

PVE重置密码_重启_08

挂载lvm
# 查看逻辑卷(确认 root 所在位置,一般是 /dev/mapper/pve-root 或类似)
ls /dev/mapper/

# 挂载根文件系统(根据实际路径挂载)
mount /dev/mapper/pve-root /mnt

# 挂载关键目录,准备 chroot 环境
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
修改root密码
# 切换到目标系统环境
chroot /mnt

# 修改密码
passwd root
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

二次密码忘记

 https://pve-doc-cn.readthedocs.io/zh-cn/latest/chapter_user_management/Two-Factor_Authentication.html

情景

root用户加了二次验证,但是二次验证密钥忘记了,导致无法登录PVE GUI

方法一 无法通过SSH远程登录PVE服务器的时候

本地登陆pve服务器中执行下面命令

# 删除用户 "root@pam" 的双因素认证(TFA)配置
pveum user tfa delete root@pam
  • 1.
  • 2.

执行成功以后就可以使用root登录PVE [GUI]()

查看 数据中心 -> 二次验证,发现root的二次验证已经没有了

如果是密码错误过多导致锁定,把 delete 改成 unlock 就可以解锁

方法二 可以通过SSH远程登录服务器的时候

创建一个名为 admin 具有管理权限的新用户

# 创建一个名为 "admin" 的本地用户(系统级别用户)
adduser admin

# 在 PVE 用户管理系统中添加用户 "admin",并将其与本地用户 "admin" 绑定
pveum useradd admin@pam

# 为 PVE 用户 "admin@pam" 设置密码
pveum passwd admin@pam

# 为用户 "admin@pam" 分配管理员权限,允许其访问 PVE 的所有资源
pveum aclmod / -user admin@pam -roles Administrator
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

然后用这个新建的admin账号登入PVE GUI

点击 数据中心 -> 二次验证 ,删除root的二次验证

PVE重置密码_服务器_09

PVE重置密码_重启_10

如果移除失败提示 permission check fail

则进入 shell 执行

# 删除用户 "root@pam" 的双因素认证(TFA)配置
pveum user tfa delete root@pam
  • 1.
  • 2.

就可以删除root的二次验证

接下来就是删除新创建的admin角色,当然不用删除也可以。

进入 数据中心 -> 用户 ,选择admin ,点击移除即可删除成功

PVE重置密码_服务器_11

方法3: 修改/etc/pve/user.cfg
# 编辑配置文件
vim /etc/pve/user.cfg
  • 1.
  • 2.

配置文件修改如下“

user:root@pam:1:0:::::x:
# 改为
user:root@pam:1
  • 1.
  • 2.
  • 3.

重启服务

# 重启 PVE 核心后台服务
systemctl restart pvedaemon

# 重启 PVE 代理服务 (Web UI/API)
systemctl restart pveproxy
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

pve关闭yubikey认证

查看二次认证列表
# 查看二次认证的用户和详情
pveum user tfa list
  • 1.
  • 2.

PVE重置密码_重启_12

修改/etc/pve/domains.cfg用户认证域配置文件
  • 注释/etc/pve/domains.cfg文件中的fta配置行

PVE重置密码_pve_13

修改/etc/pve/priv/tfa.cfg双因素配置文件
# 备份
cp /etc/pve/priv/tfa.cfg{,.bak}
  • 1.
  • 2.

查看/etc/pve/priv/tfa.cfg.bak

PVE重置密码_配置文件_14

修改为

{"users":{"root@pam":{}}}
  • 1.

PVE重置密码_配置文件_15