Bash 如何知道SSH密钥';它的长度和类型?
如何知道SSH密钥的长度和类型?Bash 如何知道SSH密钥';它的长度和类型?,bash,ssh,key,Bash,Ssh,Key,如何知道SSH密钥的长度和类型? 如果可能,我如何将它们放入变量中,以便稍后调用?您应该能够获得以下详细信息: # check length and type of key $ key_length=$(ssh-keygen -lf 00.key | awk '{print $1}'); echo $key_length $ key_type=$(ssh-keygen -lf 00.key | awk '{print $3}'); echo $key_type $ ssh-keygen -l
如果可能,我如何将它们放入变量中,以便稍后调用?您应该能够获得以下详细信息:
# check length and type of key
$ key_length=$(ssh-keygen -lf 00.key | awk '{print $1}'); echo $key_length
$ key_type=$(ssh-keygen -lf 00.key | awk '{print $3}'); echo $key_type
$ ssh-keygen -lf 00.key
2048 SHA256:<key_in_base64> no comment (DSA)
$ ssh-keygen -lf 00.key
256 SHA256:<key_in_base64> no comment (ECDSA)
$ ssh-keygen -lf 00.key
2048 SHA256:<key_in_base64> no comment (RSA)
$ ssh-keygen -lf 00.key
00.key is not a public key file.
#检查钥匙的长度和类型
$key_length=$(ssh-keygen-lf 00.key | awk'{print$1}');echo$key\u长度
$key_type=$(ssh-keygen-lf 00.key | awk'{print$3}');echo$key\u类型
$ssh keygen-lf 00.key
2048 SHA256:无评论(DSA)
$ssh keygen-lf 00.key
256 SHA256:无注释(ECDSA)
$ssh keygen-lf 00.key
2048 SHA256:无评论(RSA)
$ssh keygen-lf 00.key
00.key不是公钥文件。
谢谢,@moirisa,我现在可以看到了。顺便说一句,这将适用于私钥和公钥。另外,键类型的$3
,如果有,可能是$4user@host参考资料如下:4096 SHA256:GQYs+cJD0cQB5i7uw0ACt6GMOecUXllx4sV5G3zAI70runner@6c2e8ac9eeac(RSA)
。也许最好将$3
转换为$NF
@AlexandreJuma,变量首字母缩写NF
代表什么?NF是一个预定义变量,其值为当前记录中的字段数。awk在每次读取记录时自动更新NF的值。因此,当您访问$NF时,您实际上得到的是最后一个标记化项目(即:最后一个单词,如果分隔符是空白)。对于“我爱汽车”,NF=3和$NF=汽车。