
ssh_key = paramiko.RSAKey.from_private_key_file(key_filename)
键看起来像这样:
-----BEGIN OPENSSH PRIVATE KEY-----b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcnNhAAAAAwEAAQAAAQEAqdgmJ2AQlmvpCsDWjbpIvIrx4AwtKn2t10wmGZIN9pqcJgQpo3HD
并且有效:
$ssh-keygen -l -f <mykeyfile> 48 SHA256:x8jluaObU3q2KXRtuGpxwhnGvB/ZoeD2IUqSA1OkCmI thomas@Thomas-MBP-2017 (RSA)
但是我收到以下错误:
not a valID RSA private key file
这是在MacOS,Python 2.7,Paramiko 2.4.2上
我究竟做错了什么?
解决方法 对于OpenSSH 7.8,您必须欺骗它.运行ssh-keygen -p [-f file] -m pem据称改变密码,但重用旧密码.如果要避免提示,请使用-P oldpw -N newpw,如脚本中所示,但请注意让密码对其他用户可见.作为副作用,它以’old'(OpenSSL兼容且因此paramiko兼容)格式重写密钥文件(如果不是ed25519). (如果要保留新格式文件,请先复制.)对于旧版本的OpenSSH,只需执行ssh-keygen -p [-f file] WITHOUT -o.
此外,如果你有(或得到)它,PuTTY套件中的puttygen实用程序从0.69起支持这种格式.在Unix版本中,只需执行puttygen newfmtfile -O private-openssh -o oldfmtfile(再次使用ed25519).在windows版本AFAICT中,您必须使用GUI;加载newfmtfile并执行Conversions / Export OpenSSH密钥.
总结以上是内存溢出为你收集整理的python – 由Paramiko无法识别由ssh-keygen生成的SSH密钥:“不是有效的RSA私钥文件”全部内容,希望文章能够帮你解决python – 由Paramiko无法识别由ssh-keygen生成的SSH密钥:“不是有效的RSA私钥文件”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)