如何在Windows中手动生成SSH密钥?(转)

时间:2024-06-08 23:05:20

在Windows上,您可以通过多种方式创建SSH密钥。Windows需要SSH客户端,但在其操作系统上没有默认的SSH客户端。请注意,Windows目前正在测试本机OpenSSH应用程序,一般,不提倡在生产环境中使用beta应用程序。

那如何使用两个SSH应用程序PuTTYGit Bash呢?

如何在Windows中手动生成SSH密钥?

1。概论

SSH(安全shell)通常用于访问远程Linux系统。但其身份验证机制(私有本地密钥公共远程密钥配对)用于保护各种在线服务,从GitHubLaunchpad到运行在Microsoft Azure云上 Linux 。

从Linux生成这些密钥非常简单,并且由于Windows上的Ubuntu,您可以在Windows 10中执行相同的过程。但即使没有Ubuntu,也可以使用免费的开源Windows应用程序生成SSH密钥,PuTTy

通过以下几个步骤,我们将指导您使用WindowsPuTTY 上的Ubuntu生成SSH密钥的过程。

要求

您只需要一台运行Windows 10且安装了以下任一项的PC:

如果您还没有Windows上的Ubuntu,请查看我们在Windows 10上安装Ubuntu教程。

如何在Windows中手动生成SSH密钥?(转)

2。密码短语考虑因素

创建SSH密钥对时,如以下步骤所示,您可以选择使用密码锁定私钥或根本不使用密码。

无论何时使用密钥对,添加密码短语都需要输入相同的密码短语。不添加密码短语会删除此要求。因此,创建没有密码的密钥对更方便,对于某些脚本和自动化任务可能是必不可少的。但它也不太安全。

如果第三方在没有密码短语的情况下获得对私钥的访问权限,则他们将能够使用公钥访问所有连接和服务。

方便性和安全性之间的良好折衷是为您要使用的每个服务或连接生成单独的密钥对,仅为关键服务添加密码。如果您怀疑密钥已被泄露,只需为该服务生成一对新密钥并删除不太安全的密钥。

如何在Windows中手动生成SSH密钥?(转)

3。使用Ubuntu生成密钥

从开始菜单在Windows上的Ubuntu上启动Bash,并通过在命令提示符处输入以下命令来确保安装了SSH:

sudo apt install ssh

密钥生成过程与本机Linux或Ubuntu安装上的过程相同。安装SSH后,键入以下命令运行SSH密钥生成器:

ssh-keygen -t rsa

你会被问到两个问题。第一个询问保存密钥的位置,您可以按return接受默认值。第二个问题要求密码短语。如上所述,输入密码短语将要求您在访问密钥时使用相同的密码短语。

但是,密码短语不是必需的,按回车键(两次)将生成一个没有密码对的密钥对。因此,使用密钥时不会要求您输入密码。

完成此过程后,可以~/.ssh在Ubuntu终端可访问的目录中找到私钥和公钥,或者从Windows文件管理器中找到以下文件夹:

C:\Users\<Windows username>\AppData\Local\lxss\home\<Ubuntu username>\.ssh

无论是应用程序数据lxss目录从默认视图中隐藏的,需要手动输入。

如何在Windows中手动生成SSH密钥?(转)

4。使用PuTTY生成密钥

要使用PuTTY密钥生成器生成密钥对,只需运行puttygen.exe并单击出现的窗口中的Generate按钮。

您将被要求移动鼠标并按下键以改善SSH安全性核心的随机数生成。在此之后,公钥的原始内容将与其指纹和时间戳注释一起显示。

两个重要字段,密钥密码确认密码,允许您输入密码来保护私钥。

最后,您需要分别导出私钥和公钥:

  • 要导出私钥,请从“ 转换”菜单中选择“ 导出OpenSSH”键
  • 要导出公钥,请单击主窗口中的“ 保存公钥 ”

公钥通常使用.pub后缀。按照惯例,通常调用私钥id_rsa和公钥id_rsa.pub,但这不是必需的。例如,通常有许多键具有更具描述性的文件名。

如何在Windows中手动生成SSH密钥?(转)