当前位置:  开发笔记 > 运维 > 正文

从SSH服务器获取公钥

如何解决《从SSH服务器获取公钥》经验,为你挑选了1个好方法。

我很长时间都在寻找这个.

我需要从SSH服务器中提取并获取模数和指数.

例如,我知道,在服务器xxx.xxx.xxx.xxx上运行ssh(我可以连接到此服务器/ ping),但我不知道用户名和密码,因此无法登录.

我需要得到该服务器的公共RSA密钥的模数和指数.

我发现,ssh-keyscan可以得到模数+指数(来自文档),但仅限于使用ssh-rsa1.如果我尝试使用ssh-keyscan获取ssh-rsa(2)公钥,我无法从输出模数和指数中检索.

可能吗 ?



1> divanov..:

你当然可以!

从github下载公钥并将其保存到github.pub文件中:

ssh-keyscan -t rsa github.com | sed "s/^[^ ]* //" > github.pub

将SSH公钥格式转换为X.509公钥格式:

ssh-keygen -f github.pub -e -m pem > github.pem

解析密钥的ASN.1编码以获得公钥模数和指数:

cat github.pem | sed "/--/d" | openssl asn1parse | grep "INTEGER" | sed "s/.*://"

结果:

AB603B8511A67679BDB540DB3BD2034B004AE936D06BE3D760F08FCBAADB4EB4EDC3B3C791C70AAE9A74C95869E4774421C2ABEA92E554305F38B5FD414B3208E574C337E320936518462C7652C98B31E16E7DA6523BD200742A6444D83FCD5E1732D03673C7B7811555487B55F0C4494F3829ECE60F94255A95CB9AF537D7FC8C7FE49EF318474EF2920992052265B0A06EA66D4A167FD9F3A48A1A4A307EC1EAAA5149A969A6AC5D56A5EF627E517D81FB644F5B745C4F478ECD082A9492F744AAD326F76C8C4DC9100BC6AB79461D2657CB6F06DEC92E6B64A6562FF0E32084EA06CE0EA9D35A583BFB00BAD38C9D19703C549892E5AA78DC95E250514069
23

第一行是模数,第二行是指数.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有