使用PuTTY密钥通过SSH连接服务器
本教程将详细介绍如何安装PuTTY SSH客户端、使用方法和配置密钥认证。按照这些步骤操作,您将能够使用PuTTY与远程服务器建立安全连接。当前面临的挑战如今的企业环境通常运行多种操作系统——包括工作站和服务器。网络设备、Linux服务器、物联网系统和Linux工作站经常需要从Windows工作站进行连接。在保护数据安全的同时,安全地连接这些异构环境仍然是一个重大挑战。像PuTTY这样的工具可以有效解决这一问题。
什么是SSH?
安全外壳协议(SSH),也称为安全套接字外壳,是一种网络协议,可以在不安全的网络上实现计算机之间的安全访问。它尤其受到系统管理员的青睐。SSH协议通过一套工具集实现。使用安全外壳协议,您可以通过强密码认证或公钥认证,在开放网络(如互联网)上实现两台计算机之间的安全通信。网络管理员使用SSH远程访问其他计算机、执行命令、传输文件,并提供强大的加密保护。通过SSH,您可以在不安全的网络上安全地访问计算机或设备。SSH连接通常用于远程配置Linux服务器和网络设备。
什么是PuTTY?
系统管理员依赖SSH与远程设备建立安全连接并高效执行任务。以下是系统管理员使用SSH进行的一些关键操作:
查看/var/log中的日志文件:
通过SSH连接后,他们进入/var/log目录,分析日志文件以识别异常或潜在问题。编辑/etc中的配置文件:
系统管理员使用SSH访问/etc目录,根据需要修改配置文件。使用DNF或APT更新软件:
通过SSH,他们可以使用DNF或APT等包管理器无缝下载和安装更新——确保系统拥有最新的安全补丁、错误修复和功能。连接网络设备:
SSH是连接各种网络设备(包括路由器和可管理交换机)的关键工具。启用或禁用交换机端口:
系统管理员经常单独启用或禁用交换机端口,以有效管理网络连接。管理路由表:
通过SSH,他们连接到路由器和可管理交换机,访问和修改路由表配置。远程配置路由协议:
SSH允许系统管理员在网络设备上远程配置路由协议——无论是OSPF(开放最短路径优先)、BGP(边界网关协议)还是EIGRP(增强型内部网关路由协议)。
如何安装PuTTY
首先,从官方网站下载PuTTY软件包。访问puttygen.com获取适用于您操作系统的PuTTY版本。
要在Windows系统上安装PuTTY,请按照以下简单步骤操作:
根据您的系统架构选择合适的软件包——32位或64位。下载页面提供独立的可执行文件,包括putty.exe(SSH客户端)和puttygen.exe(密钥生成工具)。

PuTTY下载选项表,显示32位和64位版本
2. 下载putty.exe和puttygen.exe。将它们保存到计算机上易于访问的位置。
生成SSH密钥
启动PuTTYgen工具,点击”生成”按钮。在生成过程中,在空白区域随机移动鼠标光标,为密钥创建随机熵值。

PuTTYgen正在生成密钥——移动鼠标获取随机熵值
生成完成后,公钥会显示在文本区域。工具还会显示密钥指纹,并允许您添加注释。

PuTTYgen生成公钥和私钥,准备保存
使用”保存公钥”和”保存私钥”按钮将密钥保存到计算机上。为增强安全性,可以设置密码短语来保护私钥。
将公钥添加到服务器
接下来,将公钥添加到目标服务器。
首先使用密码通过SSH连接到服务器,然后打开用户主目录下的.ssh/authorized_keys文件。将以下内容追加到文件末尾:

在服务器上编辑.ssh/authorized_keys文件
在此示例中,我们使用root账户,因此文件路径为/root/.ssh/authorized_keys。

直接从PuTTYgen窗口(顶部的文本区域)复制公钥。
配置PuTTY进行密钥认证
打开PuTTY应用程序。在主窗口中,在”主机名(或IP地址)”字段输入服务器IP地址,确保端口为22,连接类型为SSH。

PuTTY主会话窗口,已配置主机和端口。
在连接前,需要指定私钥路径。在左侧面板中,依次进入”连接”→”SSH”→”认证”→”凭据”,在”用于认证的私钥文件”字段中浏览并选择您的私钥文件(扩展名为.ppk)。返回”会话”类别,输入服务器地址,点击”打开”进行连接。
PuTTY会提示输入用户名。输入您添加公钥的账户名称(本例中为root)。之后您将进入服务器控制台。
如果私钥设置了密码短语,在输入用户名后会要求您输入该密码短语。请注意,此密码短语用于保护您的SSH密钥,与账户密码不同。
成功!密钥认证生效
如果一切设置正确,PuTTY将连接到服务器而无需提示输入账户密码(只需要输入设置的密钥密码短语)。终端会立即打开并显示命令提示符,让您可以立即运行命令。

使用公钥认证成功建立PuTTY SSH连接:显示htop进程监控的终端
成功的公钥登录示例:终端立即打开,无需输入账户密码。这里正在运行htop显示服务器进程——证明密钥认证已完美运行。
恭喜!您现在可以安全便捷地管理远程服务器,无需每次都输入密码。