如何在Windows中手动生成SSH密钥?(转)
在Windows上,您可以通过多种方式创建SSH密钥。Windows需要SSH客户端,但在其操作系统上没有默认的SSH客户端。请注意,Windows目前正在测试本机OpenSSH应用程序,一般,不提倡在生产环境中使用beta应用程序。
那如何使用两个SSH应用程序PuTTY和Git Bash呢?
如何在Windows中手动生成SSH密钥?
1。概论
SSH(安全shell)通常用于访问远程Linux系统。但其身份验证机制(私有本地密钥与公共远程密钥配对)用于保护各种在线服务,从GitHub和Launchpad到运行在Microsoft Azure云上的 Linux 。
从Linux生成这些密钥非常简单,并且由于Windows上的Ubuntu,您可以在Windows 10中执行相同的过程。但即使没有Ubuntu,也可以使用免费的开源Windows应用程序生成SSH密钥,PuTTy
通过以下几个步骤,我们将指导您使用Windows和PuTTY 上的Ubuntu生成SSH密钥的过程。
要求
您只需要一台运行Windows 10且安装了以下任一项的PC:
- Windows上的Ubuntu
puttygen.exe
来自PuTTY的可执行文件
如果您还没有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密钥?(转)的更多相关文章
- 如何在windows中编写R程序包(转载)
网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...
- jenkins SSH登录 Git配置(通过eclipse生成SSH 密钥)
1.通过eclipse生成SSH 密钥 菜单栏的windows-->preferences-->General-->Network Connections-->SSH2--&g ...
- 如何在Windows中打开多个Windows Media Player
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在Windows中打开多个Windows Media Player.
- 生成ssh密钥
打开Git Bash,生成ssh密钥: ssh-keygen -t rsa -C "your_email@youremail.com"
- 查看、生成 SSH 密钥用于安全登陆
SSH 可以用来登陆服务器,远程执行命令,并用强加密算法编码保护通信安全,目前广泛应用于远程命令控制.文件加密传输等方面.SSH 登陆服务器的方法一般有两种:密码登陆和密钥登陆. 在受信任的设备上使用 ...
- 生成SSH密钥添加到GitHub
将自己的过程和踩坑写下来 一.检查是否有SSH 1.打开Git的目录文件,下图是我电脑中git的文件目录 2.点击git-bash.exe,输入ssh查看电脑中是否已存在ssh,会出现以下结果,证明已 ...
- 在windows中,使用SSH登录VMware ubuntu linux虚拟机
测试环境 主机:window7 sp1 64位 专业版 虚拟机:VMware workstation 12 player 虚拟机操作系统: ubuntu 16.4 目标:在ubuntu下运行SSH服务 ...
- 034_非交互自动生成 SSH 密钥文件
#!/bin/bash#-t 指定 SSH 密钥的算法为 RSA 算法;-N 设置密钥的密码为空;-f 指定生成的密钥文件存放在哪里 rm -rf ~/.ssh/{known_hosts,id_rsa ...
- 如何在Windows中编译Linux Unix的代码(采用cygwin)?
来源:http://www.cnblogs.com/rocky_yi/archive/2009/12/08/cygwin.html 作者:rocky_y 很多经典算法往往是用C++在linux下实 ...
随机推荐
- mysql 导出导入数据库(Mysqldump)备份
使用mysql不熟练啊!!! mysqldump导出数据库,必须以cmd命令行的形式,在Navicat中以新建查询形式使用Mysqldump不好使的.(本来使用Navicat转储SQL,再导入SQL, ...
- How to Fix "Linux Failure to Download extra data files for ttf-mscorefonts-installer" error
How to Fix "Linux Failure to Download extra data files for ttf-mscorefonts-installer" erro ...
- spring-boot的三种启动方式
spring-boot的启动方式主要有三种: 1. 运行带有main方法类 2. 通过命令行 java -jar 的方式 3. 通过spring-boot-plugin的方式 一.执行带有main方法 ...
- HDU - 3586 Information Disturbing 树形dp二分答案
HDU - 3586 Information Disturbing 题目大意:从敌人司令部(1号节点)到前线(叶子节点)的通信路径是一个树形结构,切断每条边的联系都需要花费w权值,现在需要你切断前线和 ...
- JavaWeb-SpringSecurity使用短信验证码登陆
相关博文 JavaWeb-SpringBoot_一个类实现腾讯云SDK发送短信 传送门 系列博文 项目已上传至guthub 传送门 JavaWeb-SpringSecurity初认识 传送门 Java ...
- jmeter参数化之 CSV data set config
第一步:测试计划右键--创建线程组 第二步:选择线程组:右键--sample---创建:http request 配置协议类型和服务名称,method 和path 第三步:选择线程组下的http ...
- 20175214 MySort(选做)
一.题目要求 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设计) 参考 Sort的实现.提交博客链接. 二.设计思路 在命令行中输入需要的参 ...
- cin.clear()与cin.sync()的使用
cin.clear()与cin.sync()使用是有先后顺序的. 他们的作用: cin.clear(); //将流中的所有状态都重设为有效值 cin.sync();//清空流 在输入错误的情况下,如果 ...
- android 9.0以上charles https抓包
以前安装证书的方式无效了,必须将下载的证书复制到/system/etc/security/cacerts/目录, 步骤: 1.现在手机上安装好 chls.pro/ssl下载得到一个 charles-p ...
- Android中IntentService与Service
Android中的Service是用于后台服务的,当应用程序被挂到后台的时候,问了保证应用某些组件仍然可以工作而引入了Service这个概念,那么这里面要强调的是Service不是独立的进程,也不是独 ...