Paramiko: quot;not a valid DSA private key filequot;(Paramiko:不是有效的DSA私钥文件)
本文介绍了Paramiko:不是有效的DSA私钥文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用如下所示的私钥文件连接到某些SFTP:
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
Subject: L0709146
Comment: "1024-bit dsa, L0709146@pxz102, Wed Jan 12 2022 11:25:54 +010
0"
P2/bla...bla...bla
---- END SSH2 ENCRYPTED PRIVATE KEY ----
使用以下代码:
import paramiko
path = "path/to/my/file"
transport = paramiko.Transport((self.host, self.port))
transport.connect(username=self.user,pkey=paramiko.DSSKey.from_private_key(open(path)))
# ^^^ Error line ^^^
#transport.connect(username=self.user,pkey=paramiko.RSAKey.from_private_key(open(path)))
#transport.connect(username=self.user,pkey=paramiko.ECDSAKey.from_private_key(open(path)))
sftp = paramiko.SFTPClient.from_transport(transport)
logging.info(sftp.listdir())
我不确定,但我知道这是一个DSA私钥文件,但我获得了错误:
pariko.ssh_Exception.SSHException:不是有效的DSA私钥文件
我尝试了其他选项,但出现了类似的错误
paramiko.ssh_exception.SSHException: not a valid RSA private key file
paramiko.ssh_exception.SSHException: not a valid EC private key file
paramiko.ssh_exception.SSHException: not a valid OPENSSH private key file
我使用了FileZilla客户端,连接到SFTP没有问题,我不明白为什么使用Python会有问题。
ssh.com
您有一个很少使用的推荐答案格式的私钥。帕拉米科不支持它。您必须将其转换为OpenSSH格式。
您可以这样使用ssh-keygen:
ssh-keygen -i -f sshcomkey > opensshkey
在Windows上,您还可以使用PuTTYgen。
相关问题:Paramiko: "not a valid RSA private key file"
这篇关于Paramiko:不是有效的DSA私钥文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:Paramiko:不是有效的DSA私钥文件
基础教程推荐
猜你喜欢
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
