如果您是 Linux 系统管理员,您可能熟悉使用安全外壳 (SSH) 工具安全地连接到远程服务器。您可能也知道 SSH 使用公钥-私钥对来提供加密。因此,使用 SSH 的第一步是生成密钥对。您还可以将您的公钥分发到远程服务器,以便您可以登录到这些服务器,而无需键入密码。
Seahorse,也称为 密码和密钥,是用于此目的的图形化工具。

Seahorse 的主屏幕
其维护者 GNOME 桌面项目称其为“Seahorse,GNOME 加密界面”,但您会在您的应用程序列表中找到它,名称为“密码和密钥”。它可以管理多种不同的密钥类型和登录方式,但我将重点介绍 SSH。就像命令行版本一样,它的配置将存储在您主目录中常用的 .ssh 子目录中。
生成您的密钥
您可以从下面显示的界面生成新密钥。此操作的命令行是 ssh-keygen。从 Seahorse GUI 中,单击加号 (+) 并选择 安全外壳密钥 和 继续。

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

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

我的第一个 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 密钥来完成此操作。选择 为安全外壳配置密钥,将出现此窗口

配置远程服务器
输入远程服务器的主机名,然后单击 设置。系统将提示您输入远程服务器的登录密码,请输入密码。没有其他窗口或提示。现在,您可以登录到远程服务器,而无需输入密码。
alan@mainstation:~$ ssh alan@workstation
Last login: Mon Apr 1 12:45:49 2019 from 192.168.2.6
alan@workstation:~$
获取更多帮助
大多数时候,我们在命令行中使用 SSH 及其实用程序。下载 SSH 速查表 以获取完整的使用指南。
3 条评论