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


# 问题描述

因涉猎到自动化运维方面,故采用Python的 paramiko 模块实现服务器之间的管理及命令调用等。实现过程中出现密钥文件无效的报错。

# 问题分析

查询结果得知:

现在通过 ssh-keygen 默认生成的私钥文件(id_rsa)是新的格式。打开文件可以看到是以 -----BEGIN OPENSSH PRIVATE KEY----- 开头的,故模块无法识别。

# 问题解决

生成时指定格式:按以下命令生成 RSA 格式的密钥对即可
ssh-keygen -m PEM -t rsa

# ssh-keygen参数

-m:参数指定密钥的格式,PEM(也就是 RSA 格式)是之前使用的旧格式
-b:指定密钥长度
-e:读取openssh的私钥或者公钥文件
-C:添加注释
-f:指定用来保存密钥的文件名
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥
-l:显示公钥文件的指纹数据
-N:提供一个新密语
-P:提供(旧)密语
-q:静默模式
-t:指定要创建的密钥类型

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM