如何判断ssh-keygen生成的密钥是ssh-rsa还是rsa-sha2-256类型?
关于SSH RSA密钥与签名算法的澄清及问题解答
你的理解存在一个关键误区:SSH的RSA密钥本身没有所谓的“签名类型”区分。ssh-rsa和rsa-sha2-256是SSH协议里用来标识签名算法的字符串,并非密钥的类型。
当你执行ssh-keygen -t ssh-rsa或者-t rsa-sha2-256生成密钥时,最终得到的都是标准的RSA密钥对。后者只是指定了这个密钥在后续SSH连接中默认优先使用RSA-SHA2-256签名算法,但密钥文件的结构、内容和前者生成的RSA密钥完全一致——两者都是基于RSA加密体系的密钥,没有任何能用来区分的特征。
所以你根本没办法通过生成的密钥文件(不管是公钥还是私钥)回溯判断生成时用的-t参数。你试过的ssh-keygen -l -f命令只能识别出密钥的加密类型(这里都是RSA)和长度,自然区分不了两者。
内容的提问来源于stack exchange,提问作者simon
相关产品推荐
相关产品推荐

