如何使用 SSH 密钥通过 PuTTY 和 PuTTYgen 实现免密码访问

步骤 1. 下载 PuTTY 和 PuTTYgen

如需下载,请访问官方网站。您可以下载 MSI (Windows Installer) 格式的安装包,其中同时包含 PuTTYPuTTYgen,也可以不通过安装程序而分别下载它们。

如果您下载的是 MSI 格式的 PuTTY 安装程序,请运行它并按照向导中显示的说明操作。

步骤 2. 使用 PuTTY 密钥生成器 (PuTTYgen) 生成密钥对

从程序列表中启动 PuTTYgen 程序,您可以在“开始”菜单(Windows)中找到它,如果您创建了快捷方式,也可以在桌面上找到它。

PuTTY Key Generator 窗口中,将密钥类型设置为 RSA,并将密钥长度设置为 4096 而非 2048(Number of bits in a generated key)。然后,单击 Generate 按钮开始生成密钥对的过程。

在程序窗口内移动鼠标光标以生成随机数;此过程通常需要几秒钟。

PuTTYgen window

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

PuTTYgen key generated

步骤 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. 将公钥复制到服务器

复制公钥有以下几种方式:

  1. 通过 SSH 连接服务器或使用 xterm.js 控制台进行复制。
  2. 通过个人后台进行复制。

下面我们逐一介绍这些方式。

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:wqEnter 保存。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB... rsa-key-20231101

2. 通过控制面板进行复制(仅在 VPS 上已安装 qemu-guest-agent 时有效)

进入控制面板,选择相应的 VPS 并单击 Manage。向下滚动至信息区块,然后单击右上角的铅笔图标。

Import SSH key - panel

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

Import SSH key - modal

注意:此方法仅在 VPS 上已安装 qemu-guest-agent 时有效。

步骤 6. 使用认证密钥连接到服务器

启动 PuTTY (putty.exe) 并指定用于认证的私钥。转到 Connection ⇒ SSH ⇒ Auth ⇒ Credentials,单击 Private key file for authentication 字段旁边的 Browse,然后选择之前保存的私钥 (myserver-ssh-key.ppk)。

PuTTY auth settings

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

PuTTY data settings

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

PuTTY session settings

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

PuTTY connected

评分: 1 Star2 Stars3 Stars4 Stars5 Stars (32 次评分,平均 4.69)
Loading...