Python paramiko 报错 paramiko.ssh_exception.SSHException: not a valid RSA private key file

报错的原因是选择的文件不是一个有效的 RSA 密钥文件
现在通过 ssh-keygen 默认生成的密钥文件是新的格式,并非 RSA 格式。打开文件可以看到是以 -----BEGIN OPENSSH PRIVATE KEY----- 开头的,模块无法识别。

解决方法

生成时指定格式:
通过 ssh-keygen -m PEM -t rsa 命令生成 RSA 格式的密钥对

ssh-keygen 参数

-m:参数指定密钥的格式,PEM(也就是 RSA 格式)是之前使用的旧格式

-b:指定密钥长度

-e:读取openssh的私钥或者公钥文件

-C:添加注释

-f:指定用来保存密钥的文件名

-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥

-l:显示公钥文件的指纹数据

-N:提供一个新密语

-P:提供(旧)密语

-q:静默模式

-t:指定要创建的密钥类型

posted on 2019-07-01 15:22  doubtful  阅读(6025)  评论(0编辑  收藏  举报

导航