Linux - 运维篇

第三章 ssh-keygen和openssl工具的使用

  • Linux - 运维篇
  • 系列文章回顾
  • ssh-keygen
    • ssh-keygen 生成密钥对
  • openssl
    • openssl 生成密钥对

系列文章回顾

第一章 Linux扩容LVM分区
第二章 Linux虚拟机安装VMware Tools插件


ssh-keygen

ssh-keygen -m 编码格式 -t 密钥类型 -f 文件路径 -b 密钥长度 -N 私钥密码 -C 备注( xxx@xxx.com格式)
ssh-keygen -e:导出
ssh-keygen -i:导入
ssh-keygen -e -m pem -f xxx.pub    # 将xxx.pub公钥转换成pem格式的编码格式
ssh-keygen -e -m pem -f xxx.pub | egrep -v "BEGIN|END" | base64 -d | od -t x1 -An -w4 | tr 'a-f' 'A-F' | tr -d ' ' | fmt -w 48    # 将xxx.pub转换成十六进制的pem格式编码格式egrep "BEGIN|END"        # 等同grep -E "BEGIN|END"     # 过滤显示指定值, 以 | 为分隔符做匹配
egrep -v "BEGIN|END"    # 等同grep -Ev "BEGIN|END"    # 原文中去除过滤出来的指定值
base64 -d           # base64解码
od -t x1 -An -w4    #
tr 'a-f' 'A-F'      # 原文中将小写a-f字符转换成大写A-F字符
tr -d ' '         # 去除空白字符
fmt -w 48           # 格式化成一行显示,并且每行最多48个字符
ssh-keygen
-m    rfc4716 | pkcs8 | pem             # 编码格式,不区分大小写
-t      rsa | ecdsa | ed25519 | dsa     # 密钥格式,不区分大小写
ssh密钥里推荐用sha256 + ssh-ed25519或sha25 + ssh-rsa。    # ecc 基于椭圆曲线数学的公开密钥加密算法,ecdsa是ecc和dsa的结合,叫椭圆曲线数字签名算法。ssh密钥公钥算法的RSA算法也相对容易被撞库破解,判定为不安全算法,被逐渐淘汰。ssh密钥公钥算法的ECDSA使用了SECP256r1椭圆曲线随机算法做随机数的产生,但由于2013年棱镜门事件曝光,美国国家安全局NSA对SECP256r1曲线安置了后门陷阱,之后ECDSA判定为不安全算法,被逐渐淘汰,但市场上仍然有部分产品在使用ECDSA算法。ssh密钥公钥算法的ED25519是curve25519曲线即蒙哥马利曲线。而交换机系列目前只支持ECDSA(即ecdsa-sha2-nistp521)和RSA(即ssh-rsa),从密钥强度和计算效率来看,ecdsa比rsa要强。又破解消耗的时间来看,ecdsa仍然比rsa更安全,而且是难以破解的。

ssh-keygen 生成密钥对

### 生成RSA算法的密钥对(私钥+公钥)
ssh-keygen -t rsa -b 2048 -m pem -f rsa2048pem -N '' -C 'xxx@xxx'      # 生成2048位的RSA密钥对### 生成ECC算法的密钥对(私钥+公钥)
ssh-keygen -t ecdsa -b 521 -m pem -f ecdsa521pem -N '' -C 'xxx@xxx'        # 生成521位的ECDSA密钥对### RSA公钥转换成PEM格式
ssh-keygen -e -m pem -f rsa2048pem.pub      # 将2048位的RSA公钥转换成PEM格式显示### RSA公钥转换成PEM格式的十六进制显示
ssh-keygen -e -m pem -f rsa2048pem.pub | egrep -v "BEGIN|END" | base64 -d | od -t x1 -An -w4 | tr 'a-f' 'A-F' | tr -d ' ' | fmt -w 48

openssl

ecdsa-sha2-nistp521、curve25519-sha256、ssh-ed25519:密钥交换算法
ecdsa:签名算法
sha2:加密算法
secp256k1:椭圆曲线算法             # SECG 曲线P-256    密码标准化组织,比特币使用的算法
nistp384(secp384r1): 椭圆曲线算法  # NIST/SECG 曲线P-384    美国国家标准(棱镜门有曝光NAS对此算法植入后门)
nistp521(secp521r1):椭圆曲线算法  # NIST/SECG 曲线P-521    美国国家标准(棱镜门有曝光NAS对此算法植入后门)
prime256v1: X9.62/SECG curve over a 256 bit prime field    # X9.62/SECG 曲线P-256

openssl 生成密钥对

### 生成RSA算法私钥
openssl genrsa -out rsa2048.key 2048    # 输出2048位的rsa私钥### 生成RSA算法公钥
openssl rsa -in rsa2048.key -pubout -out rsa2048.pub        # 输出私钥rsa2048.key对应的公钥
### 生成ECC算法私钥
openssl ecparam -name secp521r1 -out ecc521.pem                                                         # 生成secp521r1算法的ecc参数,默认pem格式
openssl ecparam -name secp521r1 -outform der|pem -out ecc521.pem            # 生成secp521r1算法的ecc参数,用outform指定der或pem格式
openssl ecparam -name secp521r1 -outform pem -genkey -out ecc521.pem        # 生成secp521r1算法的ecc参数和ecc私钥,用outform指定pem格式
openssl ecparam -name secp521r1 -outform pem -genkey -noout -out ecc521.pem # 生成secp521r1算法的ecc私钥,用noout去除ecc参数输出,用outform指定pem格式
# ecdsa-sha2-nistp521 密钥交换算法            # ecc+dsa的签名算法 & sha2加密算法 & nistp521(secp521r1) 椭圆曲线算法openssl ecparam -list_curves     # 输出ecc算法里支持的椭圆曲线算法列表### 生成ECC算法公钥
openssl ec -in ecc521.pem -pubout -out ecc521.pub           # 生成私钥ecc521.pem对应的公钥

[个人笔记] ssh-keygen和openssl工具的使用相关推荐

  1. linux运维笔记:Rsync数据同步工具

    linux运维笔记:Rsync数据同步工具 1-Rsync简介 Rsync英文全称是Remote synchronization,Rsync具有可以使本地和远程两台主机之间的数据快速复制和同步镜像.远 ...

  2. SSH-Auditor:一款SSH弱密码探测工具

    SSH-Auditor:一款SSH弱密码探测工具 freebuf 2018-09-16  ssh-auditor是一款可帮助你探测所在网络中ssh弱密码的工具. 特性 以下操作ssh-auditor都 ...

  3. 《Go语言圣经》学习笔记 第十章 包和工具

    <Go语言圣经>学习笔记 第十章 包和工具 目录 包简介 导入路径 包声明 导入声明 包的匿名导入 包和命名 工具 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. G ...

  4. 使用OpenSSL工具制作X.509证书的方法及其注意事项总结

    如何使用OpenSSL工具生成根证书与应用证书 // 生成顶级CA的公钥证书和私钥文件,有效期10年(RSA 1024bits,默认) openssl req -new -x509 -days 365 ...

  5. 分享:玩Linux笔记(2) —— 神奇的curl工具

    玩Linux笔记(2) -- 神奇的curl工具 http://my.oschina.net/chihz/blog/96101

  6. mac 连接linux sh,ssh工具 – windows和mac 上ssh连接linux 服务器工具推荐 – The Hu Post...

    Views: 1,051 内容概要: ssh工具 xshell finalshell关于生产力的更多内容, 可以看看我的专栏 一些效率工具可以可以看看我整理的常用工具推荐. ssh工具 在工作中经常回 ...

  7. 优秀笔记软件盘点—好看、强大的可视化笔记软件、知识图谱工具

    只推荐优质应用,推荐真正的思维工具. Heptabase.氢图.Walling.Reflect.InfraNodus.TiddlyWiki.FlowUs Heptabase 介绍 一款融合白板的可视化 ...

  8. 电脑ssl协议 linux,基于ssl协议和openssl工具建立私有CA

    前言 要自建CA需先了解openssl工具和ssl协议还有各加密类型 ssl(Secure Socket Layer)安全套接字层当前版本为3.0,浏览器与Web服务器之间的身份认证和加密数据传输,它 ...

  9. 基于ssl协议和基于openssl工具创建私有CA

    目录 前言 加密类型           对称加密:           公钥加密:           单项加密: ssl会话模型 openssl工具 建立私有CA: 服务器端自建CA        ...

  10. openssl工具详解及自建CA方法

    前言: openssl是一款很强大的多用途的开源加密解密的命令行工具,比如创建私钥,创建证书签名请求,测试各种加密算法耗时等等. 在我们进入openssl工具讲解之前,我们有必要先了解先Linux下的 ...

最新文章

  1. hdu 1272 小希的迷宫
  2. 企业级java springcloud b2bc商城系统开源源码二次开发-负载均衡策略...
  3. 线程同步synchronized
  4. 【UAV】陀螺仪数据分析,以维特智能 JY901B 为例
  5. 百度语音识别技术负责人李先刚:如何利用Deep CNN大幅提升识别准确率?
  6. apmserv mysql密码_apmserv中修改mysql的root与phpmyadmin密码方法介绍_PHP教程
  7. SAP CRM中的文本类型 - Text Type
  8. CXF 客服端调用报错
  9. 异常处理准则和最佳实践
  10. iOS用workspace和cocoapods管理多个项目
  11. Android基础 写给新手的Android环境配置
  12. 一分钟了解阿里云产品:专有网络VPC五大热点技术问题分析
  13. mysql和mybaits自增长序列详解_MyBatis Oracle 自增序列的实现方法
  14. js控制元素左右缓慢移动和页面上下缓慢移动
  15. 强化学习策略梯度方法之: REINFORCE 算法(从原理到代码实现)
  16. go 进阶 多路复用支持: 一. netpoller 初始化
  17. 应聘恩智浦时考察正则表达式
  18. Apache Traffic Server 安装部署
  19. 长春理工计算机研究生就业,计算机学专业长春理工大学在职研究生火热吗
  20. java 当天最晚时间毫秒_java 日期和字符串互转,根据当天整天时间 得到当天最后一秒的日期时间...

热门文章

  1. 关于linux中limits的一些总结
  2. MyIM服务端聊天记录(网络编程作业)
  3. ESLint和Prettier的配置
  4. php 正则 标点符号,js正则匹配中文标点符号
  5. 计算机寻址的最低单元,80c51单片机指令系统的7种寻址方式
  6. 自定义CDH parcel
  7. Fractional step and sor multigrid conjugate gradient method
  8. android重建模拟器,Android建立模拟器进行调试
  9. DNA甲基化可实现转座因子驱动的基因组扩增
  10. 分布式-全局唯一id