编译:sky

有时您需要在Linux中实际查看SSH证书。为什么?举例来说,您需要在GitHub(或其他任何需要SSH身份验证的在线服务)中添加用于身份验证的证书。您知道您已经创建了这些SSH证书,但是如何查看它们呢?

对于那些熟悉SSH的人,您可能已经知道该问题的答案。毕竟,这是相当基本的SSH内容。对于那些不熟悉SSH方式(或Linux,macOS或Windows)的用户,该任务可能会让您感到困惑。

不用担心,这就是为什么我在这里。

我想向您展示查看这些SSH密钥有多么容易,因此您可以将其用于第三方服务。




linux 用啥命令查看公钥秘钥是否正确 linux查看ssh密钥_服务器


你需要什么

您唯一需要做的就是访问服务器或台式机(Linux,macOS或Windows)并创建SSH密钥。如果尚未创建SSH密钥对,则可以使用以下命令:

该命令将生成一个密钥对,包括公钥和私钥。公用密钥是您发送到服务器以进行SSH密钥身份验证的密钥。当您尝试登录到该服务器时,SSH将比较公钥和私钥。如果这些键匹配,则将允许您访问。很简单。您已准备好继续前进。

如何在Linux上查看SSH公钥

有两种简单的方法可以在Linux中查看SSH公钥。第一种方法有点复杂,因为它同时使用了ssh-agent和ssh-add命令。这可能对您所需要的功能来说是多余的,但是它是查看密钥的一种好方法,同时需要您的SSH密钥对密码。该命令是:

ssh-agent sh -c'ssh-add; ssh-add -L'

身份验证成功后,您的SSH公钥将在终端中打印出来。然后,您可以将其复制并粘贴到所需的位置。当然,要记住很多命令,特别是当您只需要查看公共密钥的内容时。

如果您不想记住另一个命令,则可以简单地使用cat命令,如下所示:

cat ~/.ssh/id_rsa.pub

上面的命令将在Linux机器上打印出SSH密钥,而不会提示您输入密钥认证密码。

如何在macOS上查看SSH公钥

在macOS上查看密钥的方式与Linux类似。打开您的终端窗口并发出命令:

cat ~/.ssh/id_rsa.pub

要么:

cat /Users/USERNAME/.ssh/id_rsa.pub

其中USERNAME是您的macOS用户名。

上面的命令将打印出您的SSH公钥。

macOS还具有其他一些技巧。您可以使用pbcopy工具将SSH密钥的内容直接复制到剪贴板,而无需显示密钥。该命令将是:

cat ~/.ssh/id_rsa.pub | pbcopy

将密钥复制到剪贴板后,可以将其粘贴到任何需要的位置。

如何在Windows上查看SSH公钥

在Windows上,您将使用type命令查看SSH公钥,如下所示:

输入 C: Users  USERNAME  .ssh  id_rsa.pub

其中USERNAME是您的用户名。

上面的命令将显示您的SSH公钥。然后,您可以使用Ctrl + c键盘快捷键复制文件的内容。

您还可以使用type和clip命令执行类似于在macOS上所做的操作(将SSH公钥直接复制到剪贴板):

输入  C:甥敳獲甥䕓乒AME.sshid_rsa.pub | clip

其中USERNAME是您的用户名。

现在,您可以在需要的地方粘贴该密钥。

如何查看您的私钥

您无需再查看私钥。毕竟,这是酱汁中的秘密,永远不会让任何人看到。但是,如果确实需要查看该密钥,则可以执行与上述相同的步骤,但是从文件名中删除.pub(在任何情况下)。请记住,id_rsa是私钥,而id_rsa.pub是公钥。

这就是在Linux,macOS和Windows上查看SSH公钥和私钥的全部功能。

请记住,请谨慎对待这些钥匙并给予应有的保护。尽管您的公钥将分发给其他用户和服务,但该公钥需要收藏起来,并且永远不会公开显示。如果您确实不小心释放了该私钥,则需要从使用该密钥对的每台服务器上从authorized_keys文件中删除该公钥,删除主机上的公钥和私钥,生成一个新的密钥对,并将其发送给您需要使用SSH密钥身份验证登录的服务器。如果您在任何服务器或台式机上都留下了该受损密钥对的任何痕迹,则可能会存在允许某人访问的风险。