Windows 10 SSH密钥

时间:2015-08-04 15:16:49

标签: ssh-keys windows-10

在安装Windows 10后,我很难启动并运行SSH密钥。正常方法是创建它并将其放在.ssh下的用户帐户中。此文件夹似乎在Windows 10中不可用。

其他人遇到这个?我需要有3个SSH密钥用于不同的回购,这真的让我感到高兴。

12 个答案:

答案 0 :(得分:65)

  1. 打开Windows命令行(在搜索框中输入" cmd"然后按回车键。)
  2. 它会默认为您的主文件夹,因此您不需要cd到另一个文件夹。
  3. 输入ssh-keygen
  4. 按照说明进行操作
  5. 您的ssh密钥应存储在选定的目录中,默认为:/c/Users/YourUserName/.ssh/id_rsa.pub
  6. p.s。:如果你安装了带有bash集成的git(比如我),打开" Git Bash"而不是" cmd"第一步

答案 1 :(得分:31)

2019-04-07更新: 我今天测试了新版本的Windows 10(构建1809," 2018年10月更新")并且不仅开放的SSH客户端不再处于测试阶段,因为它已经安装。因此,您需要做的就是创建密钥并将客户端设置为使用开放式SSH而不是putty(pagent):

  1. 打开命令提示符(cmd)
  2. 输入ssh-keygen并按Enter
  3. 按Enter进入所有设置。现在你的密钥保存在c:\ Users \ .ssh \ id_rsa.pub
  4. 打开您的git客户端并将其设置为使用开放SSH
  5. 我在Git Extensions和Source Tree上进行了测试,它与我在GitHub中的个人仓库一起工作。 如果您使用的是早期的Windows版本或者更喜欢SSH的图形客户端,请阅读以下内容。

    2018-06-04 UDPATE:

    在Windows 10上,从版本1709开始(win + R并键入winver以查找内部版本号),Microsoft正在发布OpenSSH客户端和服务器的测试版。 为了能够创建密钥,您需要安装OpenSSH服务器。为此,请按照以下步骤操作:

    1. 打开开始菜单
    2. 输入"可选功能"
    3. 选择"添加可选功能"
    4. 点击"添加功能"
    5. 安装"打开SSH客户端"
    6. 重新启动计算机
    7. 现在您可以打开提示并ssh-keygen,Windows将识别客户端。我没有测试过这个。 如果您没有Windows 10或不想使用测试版,请按照以下有关如何使用putty的说明进行操作。

      ssh-keygen没有安装Windows。以下是如何使用Putty创建ssh密钥:

      1. 安装putty
      2. 打开PuttyGen
      3. 检查密钥类型和要使用的字节数PuttyGen parameters
      4. 将鼠标移到进度条generating key with mouse input
      5. 现在,您可以定义密码并保存公钥和私钥key created dialog
      6. 对于openssh键,还需要几个步骤:

        1. 复制"公共密钥中的文字进行粘贴"文本框并将其另存为" id_rsa.pub"
        2. 要以openssh格式保存私钥,请转到转​​化 - >导出OpenSSH密钥(如果您没有定义密钥,它会要求您确认您不需要密钥) menu for converting key to OpenSSH format
        3. 将其另存为" id_rsa"
        4. 现在已保存密钥。启动pagent并在那里添加私钥(ppty文件采用Putty的格式) pagent keys dialog

          请记住,必须运行pagent才能使身份验证正常工作

答案 2 :(得分:21)

WINDOWS: 如果您安装了Windows的git,请转到其文件夹。

enter image description here

查看bin目录。有一个sh.exe文件。跑那个。

enter image description here

然后输入:

  

ssh-keygen -t rsa -C“您的电子邮件在这里”

按照说明操作,然后输入:

  

cat~ / .ssh / id_rsa.pub |剪辑

将密钥复制到剪贴板。 现在,您可以将该公钥粘贴到服务器端。

答案 3 :(得分:10)

  1. 打开Windows命令行(在搜索框中键入“cmd”并按Enter键。)
  2. 它将默认为您的主文件夹,因此您无需cd到另一个文件夹。
  3. 输入mkdir .ssh

答案 4 :(得分:5)

警告:如果要将密钥保存在 C:/User/username/.ssh (默认位置)下,请务必在某处备份密钥(例如你的密码管理员。)

在最新的Windows 10更新(版本1607)之后,我的.ssh文件夹为空。这是我的密钥一直存在的地方,但Windows决定在更新时删除它们。

谢天谢地,我已经备份了我的钥匙......但是......我打赌有些人今天会恢复他们的电脑。

答案 5 :(得分:2)

我发现一个值得注意的例外,在Windows 10中,如果ssh-keygen生成器中未指定的文件名,则使用描述的路径只将文件写入文件夹。

提供自定义密钥名称会导致包含RSA公钥和私钥的文件不会写入该文件夹。

  • 打开Windows命令行
  • 输入ssh-keygen
  • 将文件名留空,只需按返回
  • 即可
  • 设置密码
  • 生成密钥文件。他们现在会存在。并存储在c:/Users/YourUserName/.ssh/

使用Admin命令行和Windows 10 Pro

答案 6 :(得分:2)

如果您的Windows 10带有OpenSSH客户端,则可以生成密钥,但是由于ssh-copy-id命令不是客户端工具集的一部分,因此将密钥复制到目标Linux盒时会遇到麻烦。 / p>

遇到此问题时,我编写了一个小的PowerShell函数来解决此问题,并将其添加到配置文件中。

mapbox://styles/mapbox/streets-v11

您可以在此处获得gist

我对此进行了简要介绍here

答案 7 :(得分:0)

我终于通过使用“运行管理员”运行打开命令行来工作,即使我已经是管理员并且可以手动创建目录

答案 8 :(得分:0)

今天我遇到了一个问题。

对于GIT,密钥必须具有2048的强度,必须位于users .ssh目录中,并且称为id_rsa和id_rsa.pub。将密钥粘贴到文件中时,请确保使用不添加VIM等新行的程序。

答案 9 :(得分:0)

我正在运行Microsoft Windows 10 Pro,版本10.0.17763,内部版本17763,并且在C:\ Users \ jrosario \ .ssh上很容易看到我的.ssh文件夹,而无需编辑权限或其他任何操作(尽管在File Explorer中,我确实选择了“显示隐藏的文件,文件夹和驱动器”): enter image description here

密钥存储在一个名为known_hosts的文本文件中,其大致如下所示: enter image description here

答案 10 :(得分:0)

此外,您可以尝试(对于Windows 10 Pro) 以管理员身份运行Powershell并输入ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

答案 11 :(得分:0)

所有这些答案都会生成不够安全的默认密钥。这个答案建议了一种(许多中的一种)生成安全密钥的方法。我宁愿使用我的答案而不是本页上的其他答案......到目前为止......

ssh-keygen -t rsa -b 4096