在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教程。

2。密码短语考虑因素

创建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目录从默认视图中隐藏的,需要手动输入。

4。使用PuTTY生成密钥

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

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

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

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

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

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

如何在Windows中手动生成SSH密钥?(转)的更多相关文章

  1. 如何在windows中编写R程序包(转载)

    网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...

  2. jenkins SSH登录 Git配置(通过eclipse生成SSH 密钥)

    1.通过eclipse生成SSH 密钥 菜单栏的windows-->preferences-->General-->Network Connections-->SSH2--&g ...

  3. 如何在Windows中打开多个Windows Media Player

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在Windows中打开多个Windows Media Player.

  4. 生成ssh密钥

    打开Git Bash,生成ssh密钥: ssh-keygen -t rsa -C "your_email@youremail.com"

  5. 查看、生成 SSH 密钥用于安全登陆

    SSH 可以用来登陆服务器,远程执行命令,并用强加密算法编码保护通信安全,目前广泛应用于远程命令控制.文件加密传输等方面.SSH 登陆服务器的方法一般有两种:密码登陆和密钥登陆. 在受信任的设备上使用 ...

  6. 生成SSH密钥添加到GitHub

    将自己的过程和踩坑写下来 一.检查是否有SSH 1.打开Git的目录文件,下图是我电脑中git的文件目录 2.点击git-bash.exe,输入ssh查看电脑中是否已存在ssh,会出现以下结果,证明已 ...

  7. 在windows中,使用SSH登录VMware ubuntu linux虚拟机

    测试环境 主机:window7 sp1 64位 专业版 虚拟机:VMware workstation 12 player 虚拟机操作系统: ubuntu 16.4 目标:在ubuntu下运行SSH服务 ...

  8. 034_非交互自动生成 SSH 密钥文件

    #!/bin/bash#-t 指定 SSH 密钥的算法为 RSA 算法;-N 设置密钥的密码为空;-f 指定生成的密钥文件存放在哪里 rm -rf ~/.ssh/{known_hosts,id_rsa ...

  9. 如何在Windows中编译Linux Unix的代码(采用cygwin)?

    来源:http://www.cnblogs.com/rocky_yi/archive/2009/12/08/cygwin.html   作者:rocky_y 很多经典算法往往是用C++在linux下实 ...

随机推荐

  1. python socket.io 坑。

    python下star最高的是https://github.com/miguelgrinberg/python-socketio 是flask作者写的.client server都有了,而且还提供了a ...

  2. Neko does Maths CodeForces - 1152C 数论欧几里得

    Neko does MathsCodeForces - 1152C 题目大意:给两个正整数a,b,找到一个非负整数k使得,a+k和b+k的最小公倍数最小,如果有多个k使得最小公倍数最小的话,输出最小的 ...

  3. P1427 小鱼的数字游戏

    输入格式: 一行内输入一串整数,以0结束,以空格间隔. 输出格式: 一行内倒着输出这一串整数,以空格间隔. 直接上代码: #include<iostream> using namespac ...

  4. Python 图形界面元素

    from tkinter import * import os def button_click1(): try: filePath = r'D:\CloudMusic' os.system(&quo ...

  5. tp5 多条件查询

    $where['rc_category_id'] = array('eq',$cid); $where['rc_territory_ids'] = ['like', '%'.$tid.'%']; $l ...

  6. Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解

    Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解 操作系统:Windows 7 JDK版本:1.6.0_33 Eclipse版本:Juno ...

  7. ubuntu最近升级到最新的linux内核后,网络无法使用怎么办?

    答:进入旧的内核中编译需要的网卡模块 1. 启动旧的内核进入系统 2. 安装新内核源码 3. 找出当前的网卡型号 4. 尝试卸载某个与网卡相关的内核模块,观察是否影响当前网卡的使用,如果有影响,那么便 ...

  8. [go]go并发

    同步协程 通过睡眠方法 // 通过睡眠方式等待 time.Sleep(time.Second) <-time.NewTimer(time.Second).C <-time.After(ti ...

  9. 堆排序 java

    <pre name="code" class="java">package heapSort; /** * 大根堆 * @author root * ...

  10. JspFragment.invoke方法

    JspFragment.invoke方法可以说是JspFragment最重要的方法,利用这个方法可以控制是否执行和输出标签体的内容.是否迭代执行标签体的内容或对标签体的执行结果进行修改后再输出. 例如 ...