如何使用Pageant通过PuTTY简化SSH密钥身份验证

来自菜鸟教程
跳转至:导航、​搜索

介绍

您在之前的教程中已经看到如何 使用 PuTTY 安全地连接到您的 VPS 以及如何 使用 PuTTYgen 创建 SSH 密钥。

您可能拥有多个用于单个云服务器的 SSH 密钥,或者只是多个需要 SSH 密钥才能登录的云服务器或 Droplet。 这会让您对必须管理、整理并将所有这些密钥链接到各自的服务器感到不知所措。 这就是Pageant存在的原因。

Pageant 是一个 PuTTY 身份验证代理。 它将您的私钥保存在内存中,以便您在连接到服务器时可以使用它们。 它消除了以下需要:

  • 如果您使用多个帐户登录服务器,请显式指定每个 Linux 用户帐户的相关密钥
  • 每次登录用户帐户时输入密钥的密码; 并且您的密钥应该受到密码保护,因为拥有不受保护的密钥就像将密码隐藏在键盘下一样好!

先决条件

确保您具备这些先决条件。

  • Pageant 与 PuTTY 套件一起安装; 如果你没有安装它,你可以下载它这里
  • 您应该已经在本地计算机上保存了至少一个 SSH 密钥

第 1 步 — 将密钥添加到选美

从 PuTTY 文件夹启动 Pageant:Start-Menu > All Programs > PuTTY > Pageant

默认情况下,选美在系统托盘中最小化启动。 要开始添加 SSH 密钥,您应该右键单击其图标,然后将显示以下上下文菜单:

点击菜单中的Add KeyView Keys打开Pageant Key List窗口。 您可以在此处查看、添加和删除密钥:

提示:您可以通过双击系统托盘中的图标直接访问Pageant Key List窗口。

单击添加密钥按钮。 这将打开文件资源管理器,您可以在其中一次选择一个或多个键来加载。 您应该选择扩展名为 .ppk 的文件:

单击 Open 按钮以使用 Pageant 加载键。

如果密钥受密码保护,系统将提示您只输入一次密码 ',然后才能将其添加到选美密钥列表:

成功添加密钥后,您现在可以看到它已列出:

第 2 步 — 连接到服务器

现在,在 PuTTY 会话期间连接到任何服务器时,这些密钥将可用。 您不必在 PuTTY 中采取任何额外的步骤。 只需输入您的主机名或 IP 地址,以及 SSH 用户。 PuTTY 将自动尝试使用当前在 Pageant 中加载的任何密钥进行身份验证。

第 3 步(可选)- 从选美中删除密钥

如果您想从 Pageant 中删除一个键,请从 Pageant Key List 窗口中选择该键,然后按 Remove Key 按钮。 您还可以通过使用 CTRL 或 SHIFT 选择多个键来同时删除多个键。

提示与技巧

使用这些技巧来自动化您与 Pageant 的经过身份验证的连接。

在选美启动时自动加载密钥

您可以让 Pageant 在启动时自动加载一个或多个私钥,而不是每次启动 Pageant 时手动添加它们。

从 Windows 开始菜单或桌面转到选美快捷方式图标。

右键单击该图标,然后单击 属性

将打开一个包含快捷方式属性的新窗口:

Shortcut 选项卡中,编辑 Target 字段。 保留 pageant.exe 的路径不变。 在该路径之后,添加 .ppk 密钥文件的路径。 这些应该在引号之外。 这是一个例子:

"C:\Program Files\PuTTY\pageant.exe" C:\key1.ppk C:\key2.ppk

单击 Apply,然后单击 OK 按钮。

注意: 如果密钥被加密,Pageant 将在启动时请求密码。

使选美运行 PuTTY

您可以让 Pageant 启动 PuTTY 或任何其他程序,一旦它初始化并加载了在其命令行上指定的任何键。 这样您就可以启动 Pageant 而不必启动这两个程序。

您可以按照我们之前用于自动添加密钥的相同步骤来实现这一点(请参阅上一节)。 只需在命令末尾的 Target 字段中添加程序的路径,前面是 -c 选项,并包含在双引号中。 以下是 Target 字段的完整行示例:

"C:\Program Files\PuTTY\pageant.exe" C:\key1.ppk C:\key2.ppk  -c "C:\Program Files\PuTTY\putty.exe"

其他 PuTTY 套件产品

以下是其他一些可以与 PuTTY 一起使用的有用应用程序。

  • PuTTYgen:生成和编辑 SSH 公钥和私钥对的工具。 它是 PuTTY 套件的一部分,但它也可以使用其他一些 SSH 客户端(如 WinSCP)使用的私钥格式进行操作
  • PSFTP:基于 SSH 的 SFTP(安全文件传输)协议的交互式基于文本的客户端,允许您运行交互式文件传输会话并执行许多操作,例如列出目录内容、浏览文件系统,发出多个 get 和 put 命令等。
  • PSCP(PuTTY Secure Copy Client):使用 SSH 连接在计算机之间安全传输文件的工具