如果您是 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 条评论