如果你刚购买了搬瓦工VPS,可能会遇到这样的情况:等了半天没收到包含登录密码的邮件,或者当时随手改了密码,过几天再用的时候完全想不起来了。别担心,这种情况太常见了,我自己也遇到过好几次。

好消息是,搬瓦工提供了非常方便的 KiwiVM 控制面板,你可以随时重置 root 密码,整个过程不到一分钟就能搞定。今天我就来详细说说搬瓦工VPS修改和重置密码的几种方法,包括最常用的面板重置、通过命令行修改,以及更安全的 SSH 密钥登录。

登录 KiwiVM 控制面板

要修改 VPS 密码,首先得进入 KiwiVM 控制面板。这个步骤很简单,几分钟就能搞定。

点击访问搬瓦工官网 ,点击右上角的 Client Area,然后用你的账号密码完成登录。登录后,在页面顶部找到「Services」菜单,点击进入「My Services」页面。在这个页面里,你能看到自己购买的所有 VPS 列表。

每个 VPS 后面都有一个「Manage」按钮,找到你需要修改密码的那台 VPS,点击这个按钮弹出一个新的菜单,然后点击「Open KiwiVM」就能打开进入 KiwiVM 面板。

Open KiwiVM 菜单

进入 KiwiVM 后,你会看到一个简洁的管理界面。左侧是功能菜单栏,包括重启、重装系统、修改密码等各种操作选项;右侧显示你的 VPS 基本信息,比如 IP 地址、操作系统版本、运行状态等。

Open KiwiVM 菜单

整个界面设计得很直观,即使是新手也能轻松找到需要的功能。接下来我们就用这个面板来重置 root 密码。

通过 KiwiVM 面板一键重置密码

这是最简单、最直接的修改密码方法,不需要记住旧密码,也不需要任何命令行操作。整个过程不到一分钟就能完成。

在 KiwiVM 左侧菜单栏中,找到「Root password reset」选项并点击。进入页面后,你会看到一个非常简洁的界面,中间有一个显眼的黄色按钮「Generate & Set New Root Password」。

Root password reset 页面

点击这个按钮后,页面会开始处理你的请求。等待几秒钟,页面会自动刷新,然后显示出系统为你生成的新 root 密码。

这个新密码是随机生成的,包含大小写字母、数字和特殊符号的组合,安全性很高。重要提醒:看到新密码后,一定要立即复制保存下来!你可以:

  • 复制到记事本或密码管理软件
  • 截图保存到安全的地方
  • 或者手写记录在笔记本上

拿到新密码后,建议你用 SSH 工具测试一下能否正常登录,确保密码已经生效。如果能连上 VPS,说明密码修改成功了。

使用命令行修改密码

如果你现在能正常登录到 VPS,只是想换一个自己更容易记住的密码,或者定期更新密码提高安全性,那么可以直接在命令行里修改。这个方法也很简单,而且能让你自定义密码内容。

适用场景

这个方法适合以下情况:

  • 你的 SSH 工具(比如 Xshell、FinalShell)已经保存了当前密码,能直接登录
  • 你安装了 1Panel、宝塔等 Linux 管理面板,可以在网页上输入命令
  • 你记得当前密码,想换一个新的

1Panel 面板的终端截图

操作命令

登录到 VPS 后,直接输入这个命令:

passwd

按回车后,系统会提示你输入新密码。输入密码时屏幕上不会显示任何字符,这是 Linux 的安全机制,正常输入即可。为了避免输入错误,你也可以先在本地的 txt 文本中编辑好密码,然后在终端中右键粘贴进去,这样能确保输入无误。

输入完新密码按回车,系统会让你再输入一遍确认。两次密码一致后,就会显示:

passwd: password updated successfully

看到这个提示就说明密码修改成功了。如果你要修改指定用户(例如 root)的密码,可以使用以下命令:passwd root

密码设置建议

虽然你可以设置任何密码,但为了安全考虑,我建议:

  • 长度至少 12 位:太短的密码容易被破解
  • 混合不同类型字符:大写字母、小写字母、数字、特殊符号都用上
  • 避免常见组合:不要用 123456、password、admin 这种烂大街的密码
  • 不要包含个人信息:生日、电话号码、名字拼音都不安全
  • 定期更换:建议每 3-6 个月换一次密码

如果觉得记这么复杂的密码太麻烦,可以用密码管理软件来帮你保存。我自己用的是 Bitwarden,免费版就够用了。

SSH 密钥登录设置:更安全的连接方式

如果你不打算使用前面提到的重置密码方式,也可以直接通过 SSH 密钥 来配置登录。利用 KiwiVM 面板中的「Root shell - basic」功能,即使忘记密码,也能通过网页版终端中完成密钥配置。设置完成后,就无需再依赖密码登录,更安全也更方便。

什么是 SSH 密钥登录

简单来说,SSH 密钥登录就是用一对"钥匙"来代替密码。这对钥匙分为两把:

  • 私钥(Private Key):保存在你自己的电脑上,就像你家门钥匙,绝对不能给别人
  • 公钥(Public Key):上传到 VPS 服务器上,就像你家的门锁

当你尝试登录时,VPS 会用公钥验证你的私钥是否匹配。只有持有配对私钥的人才能登录,这比密码安全多了。即使有人知道你的 VPS IP 地址,没有你的私钥文件也根本进不去。

而且 SSH 密钥通常是 2048 位或 4096 位的加密算法,暴力破解几乎不可能。相比之下,很多人设置的密码其实并不够复杂,容易被字典攻击破解。更重要的是,密钥登录可以完全禁用密码登录,这样即使你的密码泄露了也不用担心。

生成 SSH 密钥对

不管你用的是 Windows、Mac 还是 Linux 系统,生成 SSH 密钥的方法都是一样的。现代操作系统都自带了 SSH 工具,我们可以直接用命令行生成密钥。

1、打开终端或命令提示符

  • Windows 系统:按下 Win + R,输入 PowerShell 并回车。不建议使用 cmd,因为它与 PowerShell 的命令有所不同。
  • Mac 系统:按 Command + 空格 打开 Spotlight 搜索,输入 “终端” 或 “Terminal”,回车打开。
  • Linux 系统:按 Ctrl + Alt + T 快捷键,或者在应用程序菜单找到终端打开。

2、执行命令生成密钥对

在终端中输入以下命令:

ssh-keygen -t rsa -b 4096

这条命令的作用是:生成一对 4096 位的 RSA 加密密钥,用于安全的身份验证。输入命令并按下回车后,系统会依次询问你几个设置项,例如密钥文件的保存位置以及是否为密钥设置密码。

如果你不打算自定义这些选项,可以直接连续按回车,系统会使用默认的保存路径并跳过密码设置,自动生成密钥。如果你希望自行指定保存位置或为密钥设置密码,可以继续往下阅读,下面将详细讲解各个配置项的作用与填写方式。

第一个问题是询问密钥文件的保存位置:

Enter file in which to save the key (/home/你的用户名/.ssh/id_rsa):

不同系统的默认路径略有不同:

  • Linux/Mac/home/你的用户名/.ssh/id_rsa~/.ssh/id_rsa
  • WindowsC:\Users\你的用户名\.ssh\id_rsa

如果你不想改位置,直接按回车就用默认路径。这个默认位置最方便,因为大多数 SSH 客户端都会自动去这里找密钥。如果你想自定义路径,可以输入完整的文件路径,但后续使用时需要手动指定密钥位置。

第二个问题是让你设置一个密钥密码(passphrase):

Enter passphrase (empty for no passphrase):

这是可选的,相当于给私钥再加一层保护。如果设置了这个密码,每次使用私钥时都需要输入。我的建议是:

  • 家用电脑:可以不设置密码,直接按回车跳过,使用更方便
  • 公司电脑或笔记本:建议设置密码,防止设备丢失后私钥被盗用
  • 服务器上生成:一般不建议设置密码,否则自动化脚本无法使用

第三个问题会让你再确认一次密码:

Enter same passphrase again:

如果前面没设置密码,这里再按一次回车就完成了。

等待几秒钟,你会看到类似这样的输出:

Your identification has been saved in /home/yourname/.ssh/id_rsa
Your public key has been saved in /home/yourname/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yourname@hostname
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|       . .       |
|      . o .      |
|     . = +       |
+----[SHA256]-----+

看到这个提示就表示密钥已经生成成功。系统会在当前用户目录下的 .ssh 文件夹中创建两个文件(在 Windows 系统中通常位于 C:\Users\你的用户名\.ssh\ 目录):

  • id_rsa:私钥文件,千万别泄露给任何人
  • id_rsa.pub:公钥文件,这个要上传到 VPS 上

3、查看公钥内容

我们需要把公钥内容复制下来,准备上传到 VPS。在终端中输入:

cat ~/.ssh/id_rsa.pub

执行后会显示一大串字符,以 ssh-rsa 开头,后面跟着一堆看起来很随机的字母和数字,最后是你的用户名和主机名。选中这整段内容复制下来,待会要用。

将公钥上传到搬瓦工 VPS

现在我们需要把刚才复制的公钥添加到 VPS 上。有两种方法可以实现。

方法一:通过 KiwiVM 面板上传

如果你忘记了密码,导致无法通过 SSH 连接 VPS,可以先登录 KiwiVM 控制面板,在左侧菜单中找到「Root shell - basic」选项。点击进入后,会出现一个网页版的终端界面。在该终端中,依次输入以下命令:

# 创建 .ssh 目录,如果存在可以不用创建
mkdir -p ~/.ssh
# 设置权限,给当前用户分配所有权限
chmod 700 ~/.ssh
# 这个最重要,将公钥写入 VPS 文件
echo "你的公钥内容" >> ~/.ssh/authorized_keys
# 设置权限,给当前用户分配读写权限
chmod 600 ~/.ssh/authorized_keys

注意将其中的“你的公钥内容”替换为刚才复制的那一长串以 ssh-rsa 开头的字符。为避免输入错误,建议先在本地记事本中编辑好这几条命令,把公钥粘贴到第三行的引号内,确认无误后再将整段命令复制到 KiwiVM 的终端中执行。

执行完这些命令后,公钥就成功添加到 VPS 了。

方法二:通过 SSH 连接上传

如果你现在能用密码登录到 VPS,也可以直接通过 SSH 上传公钥。这个方法更快捷。

Linux/Mac 系统,在终端输入:

ssh-copy-id root@你的VPS的IP地址

这条命令会自动把你的公钥上传到 VPS 的正确位置,非常方便。

Windows 系统,可以用这条命令:

type %USERPROFILE%\.ssh\id_rsa.pub | ssh root@你的VPS的IP地址 -p 22 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

执行命令后,系统会提示你输入 root 密码。输入正确后,公钥将自动上传并添加到服务器中。若 SSH 端口不是默认的 22,只需将参数 -p 22 中的 22 改成你的 SSH 端口即可。

命令行使用密钥登录 VPS

公钥上传成功后,我们就可以用私钥来登录了。

如果密钥保存在默认位置(~/.ssh/id_rsa%USERPROFILE%\.ssh\id_rsa),直接在终端输入:

ssh root@你的VPS的IP地址 -p 22

系统会自动使用默认的私钥文件进行身份验证。若 SSH 端口不是默认的 22,只需将参数 -p 22 中的数字改为你的实际端口即可。首次连接时,系统会提示你是否信任这台服务器:

The authenticity of host 'xxx.xxx.xxx.xxx' can't be established.
Are you sure you want to continue connecting (yes/no)?

输入 yes 然后回车就行。之后再连接就不会问了。

如果你的私钥保存在其他位置,可以用 -i 参数指定:

ssh -i /path/to/your/private_key root@你的VPS的IP地址

如果你给私钥设置了密码,这时候需要输入密钥密码(不是 VPS 的 root 密码)。输入正确后就能成功登录了。

在 SSH 工具中配置密钥登录

如果你用的是 Xshell、FinalShell、MobaXterm 等图形化 SSH 工具,配置密钥登录就更简单了。虽然每个工具的界面略有不同,但基本思路都一样:

  1. 创建或编辑连接:新建一个 SSH 会话,或者编辑现有的会话
  2. 填写基本信息:输入 VPS 的 IP 地址、端口(默认 22)、用户名(root)
  3. 选择认证方式:把认证方式从 “密码” 改为 “私钥” 或 “密钥文件”
  4. 选择私钥文件:浏览并选择你的私钥文件(id_rsa
  5. 输入密钥密码(如果设置了):在相应的输入框填写密钥密码
  6. 保存并连接:保存设置后就可以直接连接了

以后每次打开这个会话都会自动使用密钥认证,不需要再输入 root 密码。

PuTTY 用户的特殊说明

如果你用的是 PuTTY 这个经典的 SSH 工具,需要注意一个重要的事情:PuTTY 不能直接使用 OpenSSH 格式的私钥(也就是我们用命令行生成的 id_rsa 文件),它需要自己专用的 PPK 格式。

这并不是什么大问题,PuTTY 提供了一个工具 PuTTYgen 可以轻松转换格式。在 PuTTY 安装目录找到这个程序打开它(在开始菜单搜索 “PuTTYgen” 也能找到)。

打开 PuTTYgen 后,按照以下步骤操作:

  1. 导入 OpenSSH 私钥:点击菜单栏的 “File” → “Load private key”
  2. 选择私钥文件:在弹出的文件选择窗口中,找到你的私钥文件(id_rsa)。注意要把文件类型选择改为"All Files (.)",否则可能看不到 id_rsa 文件
  3. 输入密钥密码(如果有):如果你给私钥设置了密码,这时需要输入密码才能导入
  4. 保存为 PPK 格式:导入成功后,点击 “Save private key” 按钮
  5. 确认保存:如果你没设置过密钥密码,软件会弹出警告提示"是否确定保存不带密码保护的私钥",点击"是"继续
  6. 选择保存位置:选择一个你记得住的位置保存,文件名随意,扩展名会自动变成 .ppk

转换完成后,你就得到了 PuTTY 能用的 PPK 格式私钥文件。注意保留原来的 id_rsa 文件,其他工具还要用。

之后在 PuTTY 中配置连接时,在 “Connection” → “SSH” → “Auth” → “Credentials” 页面的 “Private key file for authentication” 处,选择这个 PPK 文件就可以了。

常见问题解答(FAQ)

Q1: 我刚购买搬瓦工 VPS,为什么没收到包含密码的邮件?

+

如果你确实收到了邮件但找不到,建议检查一下垃圾邮件箱,有时候邮件系统会把搬瓦工的邮件误判为垃圾邮件。另外,确认一下你在购买时填写的邮箱地址是否正确,可以在客户中心的个人资料里查看。

即使没收到邮件,你随时都能通过 KiwiVM 面板获取 VPS 信息(IP、端口)并重置密码,整个过程不到一分钟就能搞定。

Q2: 用 KiwiVM 面板重置密码后,SSH 连接还是失败怎么办?

+

遇到这种情况先别慌,我们可以一步步排查问题。首先确认几个基本信息:

  • 在 KiwiVM 面板查看 VPS 的状态是不是「Running」(运行中)。如果不是需要点击「Start」启动 VPS。
  • 仔细核对你在 SSH 工具中输入的 IP 地址和端口是否与 KiwiVM 面板显示的一致,注意不要多输入或少输入数字。
  • 检查密码有没有输错,我的建议是在 KiwiVM 面板上直接复制密码,然后在 SSH 工具的密码框中右键粘贴
  • 如果你之前在 VPS 上配置过防火墙规则,检查一下 SSH 的端口是否被防火墙关闭了

如果以上方法都试过了还是连不上,建议你在 KiwiVM 面板重装一下系统。选择左侧菜单的「Install new OS」,选择一个你熟悉的系统(比如 CentOS 7 或 Ubuntu 20.04),重装完成后系统会自动生成新密码。

Q3: SSH 密钥登录和密码登录相比,有什么优势?我应该用哪种?

+

选择密码登录还是 SSH 密钥登录,是使用 VPS 时常遇到的问题。密码登录上手简单,只需输入密码即可,但安全性相对较低,如果密码过于简单容易被暴力破解,过于复杂又难记。

相比之下,SSH 密钥登录更安全、便捷,主要优点包括:

  • 安全性高:密钥加密强度高,可禁用密码登录,防止密码泄露。
  • 登录方便:配置完成后无需每次输入密码,自动认证。
  • 管理灵活:可为不同设备生成密钥,对多用户或多服务器管理更方便。

总体建议:偶尔使用 VPS 可用密码登录,但要设置复杂密码;经常使用或存储重要数据,则强烈推荐 SSH 密钥登录,也可以保留密码作为备用。

Q4: 我给私钥设置了密码,每次连接都要输入很麻烦,能不能取消?

+

密钥密码(passphrase)是给私钥文件加的一层保护,即使私钥被他人获取,没有密码也无法使用。这在公共或公司环境可防止私钥泄露。但如果你在家使用,且私钥安全可控,取消或简化密码输入可以提高效率。

实现方法主要有三种:

  • 重新生成不带密码的密钥:使用 ssh-keygen -t rsa -b 4096 生成新密钥,不设置密码然后将公钥上传。
  • 去除现有私钥密码:运行 ssh-keygen -p -f ~/.ssh/id_rsa,输入当前密码后新密码留空即可。
  • 使用 SSH Agent(推荐):可以在首次输入密码后,将密钥加载到内存,后续连接无需再次输入。

个人建议:家用台式机可用不带密码的密钥方便快捷;笔记本等可能被外人接触的设备用带密码的密钥配合 SSH Agent,兼顾安全与便利。

Q5: 我想把一个密钥用在多台 VPS 上,可以吗?有什么注意事项?

+

完全可以!实际上这是很常见的做法,特别是当你管理多台 VPS 的时候。用同一个密钥对可以大大简化管理,你只需要保管好一个私钥文件,就能登录所有服务器。

只需要把同一个公钥(id_rsa.pub 文件的内容)分别上传到每台 VPS 的 ~/.ssh/authorized_keys 文件中就可以了。但需要注意安全管理:务必妥善保管私钥,最好设置密码并做好备份(如 U 盘或加密云盘),同时定期更换密钥以降低风险。

Q6: 如果我同时启用了密码登录和密钥登录,登录时会优先使用哪个?

+
这个问题问得很专业!默认情况下,SSH 客户端会优先尝试密钥登录,如果密钥认证失败(比如找不到私钥文件,或者服务器上没有对应的公钥),才会回退到密码登录。