Openssl ssh-keygen:非法选项--m

Openssl ssh-keygen:非法选项--m,openssl,redhat,Openssl,Redhat,我是这样说的: 但这句话: $ openssl rsautl -encrypt -oaep -pubin -inkey <(ssh-keygen -e -f recipients-key.pub -m PKCS8) -in secret.key -out secret.key.enc $openssl rsautl-encrypt-oaep-pubin-inkey 这面旗帜的用途是什么 RSA公钥有多种编码格式 最常见的三种是: recipients-key.pub文件中使用的单行格

我是这样说的:

但这句话:

$ openssl rsautl -encrypt -oaep -pubin -inkey <(ssh-keygen -e -f recipients-key.pub -m PKCS8) -in secret.key -out secret.key.enc
$openssl rsautl-encrypt-oaep-pubin-inkey
这面旗帜的用途是什么

RSA公钥有多种编码格式

最常见的三种是:

  • recipients-key.pub文件中使用的单行格式

  • RFC 4716 SSH公钥文件格式,与recipients-Key.pub中的格式几乎相同,但使用了页眉、页脚和多行。关键参数为ASN.1编码

  • PKCS#8格式,有一个页眉、一个页脚,,使用ASN.1对参数进行编码

在OpenSSHV5.6之前,ssh keygen只能从第一个转换到第二个。因此,不需要任何参数

从OpenSSH v5.6开始,ssh keygen可以从第一种格式转换为第二种格式,或者从第一种格式转换为第三种格式因此,有两种可能性。这就是为什么您有这个新参数的原因

RH6.5上有哪些替代方案

使用此Python脚本和一些基本工具转换为openssl所需的PKCS#8格式:

# yum install python-pyasn1
# curl https://gist.githubusercontent.com/thwarted/1024558/raw/19fd80a5caf648eeba3b003e8f0fd90c6614fef5/sshpub-to-rsa > convert.py
# openssl rsautl -encrypt -oaep -pubin -inkey <(python convert.py <(awk '{ print $1" "$2" "$3; }' < recipients-key.pub) | sed 2,3d) -in secret.key -out secret.key.enc
#yum安装python-pyasn1
#卷曲https://gist.githubusercontent.com/thwarted/1024558/raw/19fd80a5caf648eeba3b003e8f0fd90c6614fef5/sshpub-to-rsa >convert.py
#openssl rsautl-encrypt-oaep-pubin-inkey