SSH key *.pem get fingerprint?
我想要一个我的ssh密钥文件的指纹,它是一个私钥(pem文件)。
我试着遵循这个和那个建议:
1 | key=$(ssh-keygen -yf lony.pem) | echo $key | ssh-keygen -lf /dev/stdin <<<"$key" |
结果int此错误:
/dev/stdin is not a public key file.
密钥文件如下:
-----BEGIN RSA PRIVATE KEY-----
..
-----END RSA PRIVATE KEY-----
我怎样才能拿到指纹?
此命令管道有几个问题:
1 2 | key=$(ssh-keygen -yf lony.pem) | echo $key | ssh-keygen -lf /dev/stdin <<<"$key" |
首先,不清楚为什么你要把你的作业陈述书中的stdout(
从私钥文件中获取指纹的最简单方法是运行:
1 | ssh-keygen -lf /path/to/privatekey.pem |
例如,如果我们生成一个私钥:
1 | bash-4.3$ ssh-keygen -f testkey -N '' |
然后,我们可以比较这个的输出:
1 2 | bash-4.3$ ssh-keygen -lf testkey 2048 SHA256:beF471z86giH7cV49TduNVFD949UXzT+jHxgu+99gmM lars@myhost (RSA) |
对此:
1 2 | bash-4.3$ ssh-keygen -yf testkey | ssh-keygen -lf /dev/stdin 2048 SHA256:beF471z86giH7cV49TduNVFD949UXzT+jHxgu+99gmM no comment (RSA) |
我们从两个命令中得到相同的指纹。