本文将介绍如何使用 PuTTY 进行 SSH 密钥登录。许多用户在连接到远程服务器时使用密码,但 SSH 密钥登录提供了更安全的验证方式。本指南将带您完成从生成密钥到使用密钥登录服务器的全过程。

操作前的准备
SSH(Secure Shell)是一种安全的网络协议,常用于远程登录和其他网络服务。使用 SSH 密钥而非密码可以增加安全性,避免暴力破解的风险。在本操作中,您需要确保以下条件满足:
- 您的计算机上安装有 PuTTY 客户端以及 PuTTYgen 工具
- 您有权访问要连接的远程服务器,并且该服务器已安装 SSH 服务
步骤 1:生成 SSH 密钥对
生成 SSH 密钥对是配置 SSH 密钥登录的第一步。请按照以下步骤操作:
1.1 打开 PuTTYgen
找到并打开 PuTTYgen。这是一个用来创建 SSH 密钥对的工具。
1.2 设置密钥类型
在 PuTTYgen 窗口中,确保选择的是 RSA 密钥类型,默认页上密钥的位数应选择为 2048 或更高,例如 4096。
1.3 生成密钥
点击 Generate,并在生成过程中移动鼠标以增加随机性。生成完成后,您将看到公钥和私钥。
1.4 保存密钥
通过点击 Save private key 将私钥保存到您的计算机上。您可以选择不设置密码,但建议设置密码以增加安全性。注意保存密钥的位置。
同时,您可以复制窗口中的公钥(从 Public key for pasting into OpenSSH authorized_keys file 部分开始的内容)。
步骤 2:将公钥复制到服务器
连接到您的远程服务器,并将生成的公钥添加到 ~/.ssh/authorized_keys 文件中。以下步骤指导您完成这一过程:
2.1 使用密码登录服务器
ssh username@your_server_ip
用您服务器的用户名和 IP 地址替换 username 和 your_server_ip,使用您的密码登录。
2.2 创建 .ssh 目录(如果未存在)
在服务器上,检查 ~/.ssh 目录是否存在,如果没有,请创建该目录并设置权限:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
2.3 添加公钥到 authorized_keys 文件
打开 authorized_keys 文件(如果不存在会自动创建),并将公钥粘贴进去:
echo "your_public_key_contents" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
替换 your_public_key_contents 为之前复制的公钥内容。
步骤 3:使用 PuTTY 连接到服务器
现在您已经配置了 SSH 密钥对,接下来安装 PuTTY 客户端连接到服务器。
3.1 打开 PuTTY
启动 PuTTY,并在主界面上输入服务器的 IP 地址和端口号(默认为 22)。
3.2 配置密钥文件
在左侧菜单中导航到 Connection > SSH > Auth。
点击 Browse… 并选择您之前保存的私钥文件(*.ppk)。
3.3 开始连接
返回到主界面,然后点击 Open。如果一切顺利,您将被要求输入私钥密码(如果设置了的话),然后您将成功登录到服务器。
常见问题与注意事项
在使用 PuTTY 进行 SSH 密钥登录时,您可能会遇到一些问题:
- 权限设置问题:确保 ~/.ssh 目录和 authorized_keys 文件的权限设置正确,通常是 700 和 600。
- 公钥没有正确添加:检查公钥是否被正确复制到 authorized_keys 文件中,确保没有空格或换行错误。
- SSH 服务未运行:确保目标服务器上的 SSH 服务是正常运行的。可以通过运行
systemctl status sshd来检查状态。
- Firewall 问题:确认服务器的防火墙配置是否允许 SSH 流量,要开放 22 端口。
实用技巧
- 定期更换 SSH 密钥,以提高安全性。
- 在 PuTTY 中可以保存会话配置,包括 IP 地址和密钥,方便下次使用。
- 可以使用 Pageant(PuTTY 的 SSH 代理)来管理多个 SSH 密钥,以便更方便地登录.
通过本指南,您现在应该能够成功使用 PuTTY 进行 SSH 密钥登录。SSH 密钥登录比传统的密码登录更为安全,希望您的服务器能够更好地保护您的数据安全。













