1
kingwkb 2013-08-12 09:56:18 +08:00
他本身就是一个随机字符串吧
|
2
felix021 2013-08-12 10:05:49 +08:00 1
我觉得验证一下格式是否这样就行了:"ssh-rsa key user@host",其中key必须是base64加密后的字符串。
如果想要进一步验证,可以把key用base64解密以后,验证它是否是一个素数(费马检测什么的)。 |
4
myoula 2013-08-12 10:11:31 +08:00
How do I validate a RSA ssh public key file (id_rsa.pub)? http://serverfault.com/questions/453296/how-do-i-validate-a-rsa-ssh-public-key-file-id-rsa-pub
|
5
likexian 2013-08-12 10:12:56 +08:00
|
6
felix021 2013-08-12 10:18:18 +08:00
@Livid 不是。它只是找一个至少XXX位的随机素数,再加上base64编码也不完全是定长的。我看了下我手头的两个id_rsa.pub,两个素数分别是277字节/279字节。
|
7
felix021 2013-08-12 10:20:04 +08:00
@Livid 根据4L链接里的内容,这个base64 decode出来的还不只是个素数,貌似还有其他的控制信息,不过用那个命令来验证倒是不错。
|
8
tension 2013-08-12 10:21:40 +08:00
我的是开头 ssh-rsa 412 byte
|
9
jybox 2013-08-12 11:26:42 +08:00
openssl读入再导出呗,成功了就是正确的
|
10
stackpop 2013-08-12 11:29:00 +08:00
2楼正解
|
11
nybux 2013-08-12 11:37:54 +08:00
ssh-keygen 的 -l参数可以显示密钥指纹
-> % ssh-keygen -l -f id_rsa.pub 2048 91:2e:88:4c:78:58:f8:4d:e4:96:61:31:3a:71:93:65 [email protected] (RSA) -> % ssh-keygen -l -f libpeerconnection.log libpeerconnection.log is not a public key file. 根据命令返回值就知道了 |