当前位置:   article > 正文

[笔记] ssh-keygen和openssl工具的使用_ssh-keygen openssl

ssh-keygen openssl

Linux - 运维篇


系列文章回顾

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



下章内容

第四章 Linux配置NTP时间同步


ssh-keygen和openssl工具的使用

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    # [-t x1]: 转16进制,x是\x(16进制表达式),x1按每个字节转换. [-An]: 去除前导的偏移量字符(每行的前7个字符). [-w4]: 按每4个字节进行拆行
[root@nginx ~]# echo 1231242abcd | od -t x1
0000000 31 32 33 31 32 34 32 61 62 63 64 0a
[root@nginx ~]# echo 1231242abcd | od -t x1 -An
31 32 33 31 32 34 32 61 62 63 64 0a		# 去除前7个字符0000000
[root@nginx ~]# echo 1231242abcd | od -t x1 -An -w4
 31 32 33 31
 32 34 32 61
 62 63 64 0a

tr 'a-f' 'A-F'    	# 原文中将小写 a-f(正则匹配,a到f的6个字母) 字符转换成大写 A-F(正则匹配,a到f的6个字母) 字符
tr -d ' '    		# 去除空白字符
fmt -w 48      		# 格式化成一行显示,并且每行最多48个字符
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
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更安全,而且是难以破解的。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12


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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

openssl 生成密钥对

### 生成RSA算法私钥
openssl genrsa -out rsa2048.key 2048    # 输出2048位的rsa私钥

### 生成RSA算法公钥
openssl rsa -in rsa2048.key -pubout -out rsa2048.pub		# 输出私钥rsa2048.key对应的公钥
  • 1
  • 2
  • 3
  • 4
  • 5
### 生成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对应的公钥
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/827289
推荐阅读
  

闽ICP备14008679号