root 密码是 VPS 最核心的访问凭证,定期更换密码、使用强密码策略是保障服务器安全的基本措施。搬瓦工提供两种修改 root 密码的方式:通过 KiwiVM 面板直接修改(无需 SSH),以及通过 SSH 登录后使用 passwd 命令修改。本文详细讲解两种方式的操作步骤、强密码设置规范,以及忘记密码时的找回方法和改用 SSH 密钥的进阶安全配置。
本文要点
- KiwiVM 面板修改 root 密码(无需 SSH)
- SSH 登录后使用 passwd 命令修改
- 强密码的组成规范与生成方法
- 忘记 root 密码时的找回流程
- 改用 SSH 密钥登录替代密码认证
方式一:通过 KiwiVM 面板修改
这是最推荐的修改方式,无需 SSH 可达,适用于忘记密码或无法登录时使用。
- 登录 KiwiVM,在左侧菜单找到 Root password modification(部分版本显示为 Root Shell 下方的密码入口)
- 点击 Generate and set new root password 按钮
- 系统会自动生成一个强随机密码并立即应用
- 页面显示新密码,立即复制保存(关闭页面后无法再次查看)
- 使用新密码通过 SSH 登录验证
密码只显示一次
KiwiVM 生成的随机密码只在生成后页面上显示一次,关闭或刷新后无法再次查看。请立即复制到密码管理器中保存。
方式二:SSH 登录后使用 passwd 命令
如果当前已能通过 SSH 登录 VPS,使用 passwd 命令修改密码更直接,且可以自定义密码内容。
# 以 root 身份登录后执行
passwd root
# 系统提示:New password:
# 输入新密码(不显示字符,正常现象)
# 系统提示:Retype new password:
# 再次输入相同密码
# 显示 passwd: password updated successfully 表示成功若以普通用户身份登录,需通过 sudo 切换:
# 以普通用户切换到 root 后修改
sudo -i
passwd root
# 或直接用 sudo 修改 root 密码
sudo passwd root强密码的设置规范
VPS 的 root 密码需满足以下强度要求,防止暴力破解:
| 要素 | 要求 | 示例 |
|---|---|---|
| 长度 | 至少 16 位 | 16~32 位为佳 |
| 大写字母 | 至少 1 个 | A~Z |
| 小写字母 | 至少 1 个 | a~z |
| 数字 | 至少 1 个 | 0~9 |
| 特殊字符 | 至少 1 个 | ! @ # $ % ^ & * |
| 禁止 | 不含个人信息、常见单词 | 禁止 password、123456 等 |
# 使用 openssl 生成随机强密码
openssl rand -base64 24
# 示例输出:aB7kP2mX9nQ4rL6wY1vT3eJ8
# 使用 /dev/urandom 生成 20 位含特殊字符密码
cat /dev/urandom | tr -dc "a-zA-Z0-9!@#$%" | head -c 20; echo
# 使用 pwgen 工具生成(需先安装)
apt install -y pwgen
pwgen -s -y 20 1忘记 root 密码时的找回方法
如果完全忘记 root 密码且无法 SSH 登录,按以下流程找回:
- 登录 搬瓦工客户中心,进入 VPS 管理
- 点击进入 KiwiVM
- 在左侧菜单选择 Root password modification
- 点击 Generate and set new root password
- 记录新密码,SSH 登录时使用新密码
- 登录后立即将密码修改为自定义强密码
找回密码无需重装系统
通过 KiwiVM 重置密码不会清除任何数据,无需重装系统。这是处理忘记密码情况的正确方式,切勿直接重装系统导致数据丢失。
进阶安全:改用 SSH 密钥认证
密码认证存在被暴力破解的风险,推荐改用 SSH 公私钥认证,彻底消除密码猜测攻击向量。
生成 SSH 密钥对
# 在本地电脑(Mac/Linux)执行
ssh-keygen -t ed25519 -C "my-vps-key"
# 默认保存到 ~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥)
# 设置密钥密码(passphrase)以增加安全层将公钥上传到 VPS
# 方法一:使用 ssh-copy-id(推荐)
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 28000 root@YOUR_VPS_IP
# 方法二:手动添加
cat ~/.ssh/id_ed25519.pub | ssh -p 28000 root@YOUR_VPS_IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"禁用密码登录
# 在 VPS 上编辑 SSH 配置
vim /etc/ssh/sshd_config
# 确保以下行的值为 no
PasswordAuthentication no
ChallengeResponseAuthentication no
PermitRootLogin prohibit-password # 允许密钥登录但禁止密码登录
# 重启 SSH 服务(重启前确认密钥登录可用!)
systemctl restart sshd禁用密码前先验证密钥登录
在修改 sshd_config 前,务必先在新窗口测试密钥登录成功,再关闭密码登录。否则一旦配置错误,将无法登录,需要通过 KiwiVM Emergency Console 修复。
多用户管理最佳实践
在生产环境中,不建议所有人都使用 root 账户直接操作 VPS。更好的做法是为每个用户创建独立账户,通过 sudo 授权执行需要特权的命令。这样做的好处是:操作可追溯(日志中记录了哪个用户执行了什么命令),权限可精确控制(某些用户可能只需要重启 Nginx,而不需要完整的 root 权限),以及降低误操作风险(普通用户不小心删除系统文件的可能性更低)。
# 创建新用户并添加到 sudo 组
useradd -m -s /bin/bash username
passwd username
# Debian/Ubuntu
usermod -aG sudo username
# CentOS
usermod -aG wheel username
# 验证 sudo 权限
su - username
sudo whoami # 应输出 root密码策略自动化配置
对于需要管理多台服务器的用户,可以配置系统级的密码策略,强制所有账户遵守强密码要求:
# 安装密码质量检查工具(Debian/Ubuntu)
apt install -y libpam-pwquality
# 编辑密码策略配置
vim /etc/security/pwquality.conf
# 推荐配置:
# minlen = 16 # 最小长度16位
# minclass = 4 # 至少包含大写、小写、数字、特殊字符各1个
# maxrepeat = 3 # 同一字符最多连续3次
# gecoscheck = 1 # 禁止使用用户名作为密码配置密码策略后,所有通过 passwd 命令修改密码的操作都会自动检查密码强度,不满足要求的密码会被拒绝并提示原因,有效防止弱密码的使用。
定期密码轮换策略
即使当前密码足够强,定期更换密码也是良好的安全习惯,尤其在以下情况下应立即更换:发生人员离职、怀疑密码可能泄露、VPS 曾被异常登录、使用了与其他服务相同的密码。通过在 /etc/login.defs 配置密码有效期,可以强制用户定期更换:
# 设置密码最长有效期为90天(按需调整)
PASS_MAX_DAYS 90
PASS_MIN_DAYS 1
PASS_WARN_AGE 7小结
root 密码安全是 VPS 安全的第一道防线。KiwiVM 面板修改适合应急找回,passwd 命令适合日常变更,SSH 密钥认证则是最安全的长期方案。三种方式掌握后,VPS 登录安全将得到全面保障。
常见问题
KiwiVM 改密码需要关机吗?
不需要,KiwiVM 的密码重置功能在 VPS 运行状态下即可执行,密码立即生效,无需重启服务器。
通过面板重置密码后原来的数据会丢失吗?
不会,密码重置只修改系统登录凭证,不影响任何数据和服务,与重装系统是完全不同的操作。
SSH 密钥丢失了怎么办?
若本地私钥文件丢失,可通过 KiwiVM 使用 Emergency Console 或 Root Shell 进入系统,编辑 ~/.ssh/authorized_keys 删除旧公钥,再上传新密钥对。
能为不同 SSH 客户端设置不同密钥吗?
可以,在 ~/.ssh/authorized_keys 文件中每行添加一个公钥,系统会逐一验证。不同设备使用不同密钥,方便管理权限。