python – 由Paramiko无法识别由ssh-keygen生成的SSH密钥

前端之家收集整理的这篇文章主要介绍了python – 由Paramiko无法识别由ssh-keygen生成的SSH密钥前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有以下代码

ssh_key = paramiko.RSAKey.from_private_key_file(key_filename)

键看起来像这样:

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEAqdgmJ2AQlmvpCsDWjbpIvIrx4AwtKn2t10wmGZIN9pqcJgQpo3HD

并且有效:

 $ssh-keygen -l -f 

但我得到“不是一个有效的RSA私钥文件错误.
这是在MacOS,Python 2.7,Paramiko 2.4.2上

我究竟做错了什么?

最佳答案
Paramiko不支持“BEGIN OPENSSH PRIVATE KEY”格式(RFC 4716)密钥文件,这些密钥文件是由最新版本的OpenSSH生成的.

Paramiko仅支持PEM格式密钥.要将密钥转换为PEM格式,请使用带有ssh-keygen的-m PEM switch

ssh-keygen -e -f key -m PEM > key.pem
原文链接:https://www.f2er.com/python/438937.html

猜你在找的Python相关文章