如何使用 PuTTYgen 在 Windows 上生成 SSH 密钥对?

Secure Shell(SSH)是一种加密网络协议,用于在客户端与服务器之间建立安全连接,并支持多种身份验证机制。其中最常用的两种方式是密码认证和基于公钥的认证。相较于传统的密码认证,使用 SSH 密钥对进行身份验证更加安全且便捷。
本文将介绍如何在 Windows 系统中使用 PuTTYgen 生成 SSH 密钥对,并演示如何配置基于 SSH 密钥的身份验证,最终实现无需密码即可登录远程 Linux 服务器。
一、下载 PuTTYgen
PuTTYgen 是一款开源工具,专为 Windows 平台上最流行的 SSH 客户端 PuTTY 生成 SSH 密钥对。它既可以作为独立可执行文件运行,也包含在 PuTTY 的 .msi 安装包中。
如果尚未安装 PuTTYgen,请访问 PuTTY 官方下载页面,获取最新版本的 PuTTY 安装包。安装过程非常简单,双击下载的安装包并按照提示完成即可。
下载地址:点我

安装完成后,在安装目录下可以找到 puttygen 软件:

二、使用 PuTTYgen 生成 SSH 密钥对
按照以下步骤在 Windows 上使用 PuTTYgen 生成 SSH 密钥对:
2.1 启动 PuTTYgen
在界面中的 “Type of key to generate” 区块,保持默认选项 RSA。在 “Number of bits in a generated key” 输入框中,默认值为 2048,足以满足大多数使用场景。也可以根据需要将其修改为 4096 以增强安全性。
2.2 生成密钥对

点击 “Generate” 按钮开始生成密钥对。此时系统会提示在 “Key” 区域的空白处移动鼠标,以产生随机性数据。随着鼠标移动,绿色的进度条将逐渐前进,整个过程通常只需数秒即可完成。

2.3 密钥生成完成

公钥生成后将显示在 “Key” 区块中。如需为私钥设置密码短语(passphrase),请在Key passphrase和Confirm passphrase字段中输入并确认。若不希望使用密码短语,留空即可。
建议:若私钥用于交互式登录,设置密码短语可增加一层安全防护;若用于自动化脚本等场景,则可忽略密码短语。密码短语能有效防止私钥被未授权使用,每次使用私钥时需输入该短语。
2.4 保存私钥
点击 “Save private key” 按钮,将私钥保存为.ppk格式的文件(PuTTY Private Key)。建议将其存放在易于查找的目录中,并使用具有描述性的文件名。
2.5 保存公钥
在 “Public key for pasting into OpenSSH authorized_keys file” 文本框中,右键点击并选择 “Select All”,然后复制全部内容。打开一个文本编辑器(如记事本),将内容粘贴并保存。建议将公钥文件与私钥存放在同一目录,并使用相同的文件名,扩展名可设为.txt或.pub。
该公钥即为后续需要添加到远程 Linux 服务器中的密钥内容。
三、将公钥复制到远程服务器
生成 SSH 密钥对后,下一步是将公钥添加到希望管理的远程 Linux 服务器中。
(1)启动 PuTTY,登录远程 Linux 服务器。
(2)如果用户的 SSH 目录(~/.ssh)不存在,则执行以下命令创建并设置正确权限:
mkdir -p ~/.ssh chmod 0700 ~/.ssh
(3)使用文本编辑器(如 vim)将之前复制的公钥内容粘贴到~/.ssh/authorized_keys文件中:
vim ~/.ssh/authorized_keys
注意:整个公钥内容必须在一行内,不能换行。

保存文件后,执行以下命令确保只有当前用户可读写该文件:
chmod 0600 ~/.ssh/authorized_keys
四、使用 SSH 密钥登录服务器
Pageant 是 PuTTY 的 SSH 身份验证代理,可将私钥加载到内存中,方便后续 SSH 会话自动使用。Pageant 同样包含在 PuTTY 安装包中,可通过开始菜单 PuTTY (64-bit) → Pageant 启动。
启动 Pageant 后,系统托盘中会出现其图标。双击该图标打开 Pageant 主窗口,点击 “Add Key” 按钮,选择之前保存的 .ppk 私钥文件。若私钥设置了密码短语,系统会提示输入;否则私钥将直接加载。

完成上述配置后,您即可在不输入密码的情况下登录远程服务器。打开一个新的 PuTTY 会话尝试连接,Pageant 会自动使用已加载的私钥完成身份验证。

五、禁用 SSH 密码认证(可选)
为进一步增强服务器安全性,可以选择禁用 SSH 的密码认证方式。
警告:在禁用密码认证前,请务必确认您已能通过密钥方式成功登录,并且当前用户拥有 sudo 权限。
登录远程服务器,编辑 SSH 配置文件:
vim /etc/ssh/sshd_config
修改或确认以下配置项:
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
保存文件后重启 SSH 服务使配置生效:
systemctl restart sshd
这样,密码认证方式已被禁用,仅允许使用 SSH 密钥登录。
以上关于如何使用 PuTTYgen 在 Windows 上生成 SSH 密钥对?的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 如何使用 PuTTYgen 在 Windows 上生成 SSH 密钥对?
微信
支付宝