步骤 1. 下载 PuTTY 和 PuTTYgen
如需下载,请访问官方网站。您可以下载 MSI (Windows Installer) 格式的安装包,其中同时包含 PuTTY 和 PuTTYgen,也可以不通过安装程序而分别下载它们。
如果您下载的是 MSI 格式的 PuTTY 安装程序,请运行它并按照向导中显示的说明操作。
步骤 2. 使用 PuTTY 密钥生成器 (PuTTYgen) 生成密钥对
从程序列表中启动 PuTTYgen 程序,您可以在“开始”菜单(Windows)中找到它,如果您创建了快捷方式,也可以在桌面上找到它。
在 PuTTY Key Generator 窗口中,将密钥类型设置为 RSA,并将密钥长度设置为 4096 而非 2048(Number of bits in a generated key)。然后,单击 Generate 按钮开始生成密钥对的过程。
在程序窗口内移动鼠标光标以生成随机数;此过程通常需要几秒钟。

密钥生成完成后,您将看到有关公钥的信息,包括 Key fingerprint 和 Key comment。您可以修改 Key comment 字段中的数据,使其更便于您识别用途。

步骤 3. 为私钥设置密码保护(可选)
如果您希望使用密码保护您的私钥,请在 Key passphrase 和 Confirm passphrase 字段中输入密码。在本示例中,我们将不使用此选项。
步骤 4. 保存密钥
要保存公钥,请复制 Public key for pasting into OpenSSH authorized_keys file 字段中的内容,并将其粘贴到一个单独的文本文件中,例如 myserver-ssh-key.pub.txt。
要保存私钥,请单击 Save private key 按钮。在弹出的窗口中,确认您要保存不带密码的私钥,指定一个文件名(例如 myserver-ssh-key),系统会自动添加 .ppk 扩展名。
步骤 5. 将公钥复制到服务器
复制公钥有以下几种方式:
- 通过 SSH 连接服务器或使用 xterm.js 控制台进行复制。
- 通过个人后台进行复制。
下面我们逐一介绍这些方式。
1. 通过 SSH 连接服务器或 xterm.js 控制台进行复制
使用 SSH 或位于 VPS 控制面板中的 xterm.js 控制台连接到服务器。导航到您想要启用 SSH 密钥登录的用户的主目录。所有示例都将以 root 用户为例进行说明。
创建 /root/.ssh 文件夹并设置权限:
# mkdir -p /root/.ssh && chown root:root /root/.ssh && chmod 700 /root/.ssh
创建一个用于存储 SSH 公钥的文件并设置权限:
# touch /root/.ssh/authorized_keys && chown root:root /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys
使用文本编辑器打开 /root/.ssh/authorized_keys 文件:
# vi /root/.ssh/authorized_keys
将公钥添加到文件末尾(内容来自 myserver-ssh-key.pub.txt 文件)。确保它写在单独的一行上,然后依次按 Esc、:wq、Enter 保存。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB... rsa-key-20231101
2. 通过控制面板进行复制(仅在 VPS 上已安装 qemu-guest-agent 时有效)
进入控制面板,选择相应的 VPS 并单击 Manage。向下滚动至信息区块,然后单击右上角的铅笔图标。

在打开的模态窗口中,输入公钥并保存。

注意:此方法仅在 VPS 上已安装 qemu-guest-agent 时有效。
步骤 6. 使用认证密钥连接到服务器
启动 PuTTY (putty.exe) 并指定用于认证的私钥。转到 Connection ⇒ SSH ⇒ Auth ⇒ Credentials,单击 Private key file for authentication 字段旁边的 Browse,然后选择之前保存的私钥 (myserver-ssh-key.ppk)。

通过导航到 Connection ⇒ Data 指定用户名,并在 Auto-login username 字段中输入用户名(例如 root)。

要保存会话,请转到 Session 部分,在 Saved Session 中为其命名,输入服务器 IP 地址,指定 SSH 端口(默认:22),然后单击 Save。

单击 Open 进行连接。如果是首次连接,请接受指纹警告。控制台将打开,登录将自动完成,无需密码。

