如何在Windows,Mac和Linux上生成SSH密钥


如果您要远程连接到计算机,最好和最安全的方法之一就是使用安全外壳(SSH)连接。这样可以在您和远程主机之间建立加密连接,以确保不会以任何方式截取或监视正在发送的数据。

您也可以将SSH用作其他流量的隧道,例如通过SSH的安全VNC连接 。使SSH连接更安全的一种方法是使用SSH密钥,它用617位加密密钥代替了可能易于破解的密码。以下是在Windows,Mac和Linux计算机上生成新SSH密钥的方法。

什么是SSH密钥?

SSH密钥可让您创建到远程服务器或PC的安全连接,而无需使用密码安全外壳协议。 SSH密钥是成对创建的,其中的私有密钥和公共密钥保持连接状态-不能同时使用它们。

在大多数情况下,公共密钥保留在远程PC或服务器上加密连接。然后,使用私钥向该远程设备进行身份验证,从而使您无需提供密码即可连接和使用它。

公共和私有SSH密钥是同一整体的两个部分-没有私有密钥,您将无法通过公共密钥进行身份验证并建立连接,并且没有公共密钥,私有密钥将毫无用处。您可以在Windows,Mac和Linux上生成新的SSH密钥,然后将公共密钥传输到远程设备。

然后,将private密钥安全地存储在您的PC或Mac上。请务必安全保存此密钥的副本(例如,使用密码管理员 )。如果丢失,则可能无法重新建立远程连接。

同样重要的是,不要与他人共享您的公钥或私钥,尤其是您的私钥(或可能解密的密码短语)它)。有了私钥,流氓用户就可以建立与远程设备的连接,而无需任何其他身份验证。

如何使用Windows生成SSH密钥

您可以使用Windows通过内置的OpenSSH客户端或流行的第三方PuTTY客户端来生成SSH密钥。如果您希望使用图形用户界面(GUI)创建新的SSH密钥,PuTTY是最佳选择。如果您想使用内置软件,请改用OpenSSH(通过Windows PowerShell)。

通过Windows PowerShell使用OpenSSH

  1. 如果要使用OpenSSH,则需要首先检查它是否已启用。为此,请右键单击“开始”菜单,然后选择设置
    1. 设置菜单中,选择应用>应用与功能>可选功能
      1. 浏览OpenSSH Client条目的可选功能菜单。如果不存在,请选择添加功能
        1. 选择OpenSSH Client选项,然后选择安装安装它。请稍等片刻,让Windows安装所需的软件。如果要使用SSH连接到Windows PC,请确保也选择OpenSSH Server选项。
          1. 在安装了OpenSSH之后,右键单击“开始”菜单,然后选择Windows PowerShell(Admin)
            1. 在新的Windows PowerShell窗口中,键入ssh-keygen,然后选择输入键。您可以在此时为密钥输入新的保存位置和文件名,或者再次按输入将文件保存在C:\ Users \ user \ .ssh \ 文件夹(将用户替换为您自己的用户目录)。

              ssh-keygen工具默认情况下将使用RSA加密,但是您可以通过键入ssh-keygen-来切换到另一种加密形式method,而将method替换为可用的加密选项之一(dsa,ecdsa,ed25519,rsa)。
              1. 接下来,您将需要输入密码。这是对PC上的私钥进行加密的方法,尽管不是必需的,但通常建议这样做。您可以使用令人难忘的单词或短语,但也可以在这里使用安全密码 。输入您的密码并选择输入进行确认,或简单地将其保留为空白,然后选择输入将其保留为空白。
                1. 添加完后Windows将在C:\ Users \ user \ .ssh \文件夹中生成所需的密钥(将user替换为您自己的用户文件夹名称)。如果选择使用默认文件名,则id_rsa.pub文件是您的公钥,而id_rsa(无扩展名)是您的私钥。生成密钥后,您需要将公共密钥(id_rsa.pub)移至远程PC,Mac或服务器上的.ssh目录中
                2. 使用腻子

                  众所周知的PuTTY SSH客户端是大多数Windows用户的默认客户端。它还包括其他一些用于建立SSH连接的工具,包括PuTTYgen(一种用于生成新SSH密钥的工具)。

                  1. 要使用PuTTY生成SSH密钥, 13并安装它。安装后,从“开始”菜单启动PuTTYgen(随附的SSH生成器工具),从要生成的密钥类型中选择RSA,然后选择生成。您也可以选择其他加密选项之一,但以下步骤可能有所不同。
                    1. 生成密钥的部分过程是随机移动鼠标。使用鼠标或触控板在进度条正下方的区域中执行此操作,直到生成密钥对为止。
                      1. 如果要将密码短语添加到密钥中,请在Key中键入密码确认密码框,然后依次选择保存公共密钥保存私有密钥来保存您的密钥。您还可以在要粘贴到OpenSSH的授权密钥的公钥中选择文本,然后右键单击并选择Copy,以将其手动复制并粘贴到文件中。
                        1. 保存密钥后,您可以将公钥移至远程PC,Mac或服务器。对于您的私钥,您可能需要将其移到C:\ Users \ user \ .ssh \文件夹中(用您的user代替正确的用户目录)以与您的首选SSH客户端一起使用。
                        2. 如何在Linux或Mac上生成SSH密钥

                          OpenSSH是用于SSH管理的黄金标准工具集,与Windows版本一样,ssh-keygen工具仍然是在Mac或Linux计算机上生成新SSH密钥的最佳方法。

                          因此,用于生成SSH密钥的GUI工具是罕见,通常不建议使用。由于所有Mac电脑都包含OpenSSH工具,并且几乎所有所有Linux发行版 都包含OpenSSH工具,因此以下步骤应在两个平台上均适用。

                          1. 首先,请打开一个新的终端窗口您的Linux PC或Mac。如果要使用Mac生成SSH密钥,可以使用Launchpad启动终端应用程序。在Linux PC上打开新终端的步骤会有所不同,具体取决于您的发行版。
                            1. 在Linux PC或Mac上的新终端窗口中,键入ssh-keygen,然后选择enter键。与Windows上的ssh-keygen一样,Linux和Mac版本默认使用RSA加密。如果您希望使用其他形式的加密,请输入ssh-keygen -t方法,将方法替换为您希望使用的加密形式(例如dsa,ecdsa,ed25519,rsa)。
                              1. 接下来,您需要确定要保存新SSH密钥的位置-默认文件名和位置将显示在终端窗口的圆括号中。如果要使用其他文件名将密钥保存在其他位置,请在此处键入新的位置和文件名,然后选择输入密钥。
                                1. 接下来,您将需要输入一个密码短语来加密您的私钥(如果您想使用一个)。键入两次密码,或选择两次enter,使密码为空白(尽管不建议这样做)。
                                  1. 这时,您的SSH密钥将在保存您指定的位置,并使用默认的id_rsa文件名进行RSA加密(id_rsa.pub作为公钥,id_rsa作为私钥)。您需要将公钥(id_rsa.pub)移至远程PC,Mac或服务器,才能使用SSH建立连接。
                                  2. 使用SSH建立安全连接

                                    生成SSH密钥后,您需要确保将公共密钥复制到远程PC,Mac或服务器。这与您的私钥链接,从而使您首选的SSH客户端无需典型密码即可建立安全的SSH连接。例如,您可以使用SSH远程连接到另一台Mac

                                    安全的SSH连接还可以使用SSH隧道帮助您绕过学校或工作场所的防火墙 。您还可以使用SSH到连接(并更新)Raspberry Pi 或其他基于Linux的PC和服务器。但是,如果要在Windows 10上启用OpenSSH服务器,则需要确保启用它。

                                    相关文章:

                                    如何修复YouTube黑屏错误 如何知道您已安装的Windows版本 如何为Chromebook安装Firefox 如何修复“ CPU风扇错误”消息 如何修复Google云端硬盘“超出下载配额”错误 如何在Mac和PC上使用Google Home App 如何将多页扫描成一个PDF文件

                                    19.04.2021