実行中のssh-agentに追加するPEMファイルがあります。
$ file query.pem
query.pem: PEM RSA private key
$ ssh-add ./query.pem
Identity added: ./query.pem (./query.pem)
$ ssh-add -l | grep query
2048 ef:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX ./query.pem (RSA)
ファイルから直接キーの指紋(ssh-agentに表示されます)を取得するにはどうすればよいですか?ssh-keygen -l -f some_key
「通常の」sshキーで機能することは知っていますが、PEMファイルでは機能しません。
.pemファイルでssh-keygenを試してみると、次のようになります。
$ ssh-keygen -l -f ./query.pem
key_read: uudecode PRIVATE KEY----- failed
key_read: uudecode PRIVATE KEY----- failed
./query.pem is not a public key file.
このキーは次で始まります:
-----BEGIN RSA PRIVATE KEY-----
MIIEp.... etc.
「通常の」秘密鍵とは対照的に、次のようになります。
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,E15F2.... etc.
ssh-keygen -l
は、他のssh-keygen
(およびssh*
)操作は可能ですが、秘密鍵ファイルを読み取ることができません。しかし、時には、ssh-keygen
生成し、それはPrivateKeyのファイルなど、両方の書き込みをキーid_rsa
として、対応する公開鍵ファイル.pub
追加などをid_rsa.pub
。古い方ssh-keygen -l
は.pub
、指定したファイル名に追加して、その公開鍵ファイルを読み取ろうとします。
.ssh/id_rsa
すべてのデフォルトを使用してOpenSSHによって生成されたファイルはPEMファイルです。秘密鍵はデフォルトでPEMエンコードされています。実際、OpenSSLで生成したRSAキーをOpenSSHで直接使用できます。