使用 Seahorse 图形化管理 SSH 密钥

Seahorse,也称为“密码和密钥”,即使您不习惯在命令行工作,也可以管理 SSH 密钥的生成和分发。
230 位读者喜欢这篇文章。
Linux keys on the keyboard for a desktop computer

如果您是 Linux 系统管理员,您可能很熟悉使用安全外壳 (SSH) 工具安全地连接到远程服务器。您可能也知道 SSH 使用公钥-私钥对来提供加密。因此,使用 SSH 的第一步是生成密钥对。您还可以将您的公钥分发到远程服务器,这样您就可以在无需输入密码的情况下登录它们。

Seahorse,也称为 密码和密钥,是一个用于此目的的图形化工具。

Seahorse Main Screen

Seahorse 的主屏幕

它的维护者,GNOME 桌面项目,称其为“Seahorse,一个 GNOME 加密界面”,但您会在您的应用程序列表中找到它,名称为“密码和密钥”。它可以管理许多不同的密钥类型和登录方式,但我将重点介绍 SSH。与命令行版本一样,它的配置将存储在您主目录中常用的 .ssh 子目录中。

生成您的密钥

您可以从下面显示的界面生成新密钥。对应的命令行是 ssh-keygen。在 Seahorse GUI 中,单击加号 (+) 并选择 安全外壳密钥继续

Select SSH Key

选择 SSH 密钥 以生成密钥

下一个屏幕提供了一个输入描述的字段。您还可以选择是否立即将此密钥分发到您将来想要连接的另一个系统,但对于本示例,请单击 仅创建密钥

Creating a new SSH key

创建新的 SSH 密钥

在密钥创建过程中,系统会要求您输入密码短语。我通常将此项留空,以避免每次尝试连接到另一个系统时都必须输入密码短语;这会像输入密码一样中断自动化。如果您想使用我的方法,只需单击 确定 两次。您的新密钥将显示在界面中。

My first SSH key

我的第一个 SSH 密钥

您还可以通过查看主目录的 .ssh 子目录来确认密钥对的存在。

alan@mainstation:~$ cd .ssh
alan@mainstation:~/.ssh$ ls -l
total 12
-rw------- 1 alan alan 1679 Apr  1 11:40 id_rsa
-rw-r--r-- 1 alan alan  398 Apr  1 11:40 id_rsa.pub
-rw-r--r-- 1 alan alan  222 Apr  1 10:54 known_hosts

SSH 密钥对由两个文件组成。文件 id_rsa 是私钥。请注意,只有您,即所有者,才拥有对此文件的读写权限。不应与任何人共享。文件 id_rsa.pub 是公钥。共享它是安全的,因为它是配置基于密钥的身份验证时复制到远程系统的文件。接下来让我们看看这一点。

连接到远程主机

要将基于密钥的身份验证用于远程主机,您需要将您的公钥复制到该远程服务器。这很方便,因为您无需输入密码即可登录。对应的命令行是 ssh-copy-id -i <identity file> <remote_host>。在 GUI 中,您可以通过单击菜单栏中的 远程 或右键单击 SSH 密钥来完成此操作。选择 配置安全外壳密钥,将出现此窗口

Configuring a remote server

配置远程服务器

输入远程服务器的主机名,然后单击 设置。系统将提示您输入远程服务器的登录密码,因此请输入它。没有其他窗口或提示。现在,您可以登录到远程服务器而无需输入密码。

alan@mainstation:~$ ssh alan@workstation
Last login: Mon Apr  1 12:45:49 2019 from 192.168.2.6
alan@workstation:~$

获取更多帮助

大多数时候,我们在命令行中使用 SSH 及其实用程序。下载 SSH 速查表 以获取完整的使用指南。

接下来阅读什么
Alan Formy-Duval Opensource.com Correspondent
Alan 拥有 20 年的 IT 经验,主要在政府和金融部门。他最初是一名增值经销商,之后转行做系统工程。Alan 的背景是高可用性集群应用程序。他在 Oracle Press/McGraw Hill 的《Oracle Solaris 11 系统管理》一书中撰写了“用户和组”以及“Apache 和 Web 堆栈”章节。

3 条评论

感谢您提醒 Seahorse 的这项功能,它很容易被忘记或忽略。

“在密钥创建过程中,系统会要求您输入密码短语。我通常将此项留空,以避免每次尝试连接到另一个系统时都必须输入密码短语”

我恭敬地建议,最好使用密码短语,但也要使用 ssh 代理(Pageant、ssh-agent 等),这样您只需解锁一次密钥,然后就可以从那里开始使用代理进行身份验证。这样您就可以两全其美;既保护了您的密钥,又防止了肩窥,并在机器之间实现无缝切换。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.