在ezPyCrypto中读取使用Putty生成的私钥

0 投票
1 回答
1067 浏览
提问于 2025-04-16 12:43

我使用了Putty密钥生成器创建了一个私钥,叫做Putty-Private.ppk。我可以用这个私钥通过Pageant和Putty连接到我的主机提供商的服务器。

现在,我想通过基于xmlrpc的远程API连接到服务器。为此,我安装了ezPyCrypto,这是很多人推荐的一个简单易用的Python加密库。为了测试加密,我写了以下代码:

mypass = "xxx"
fd = open("Putty-Private.ppk")
pubprivkey = fd.read()
fd.close()
k = ezPyCrypto.key(pubprivkey, passphrase = mypass)
dec = k.decString(enc)

但是在调用ezPyCrypto.key(...)的时候,系统给出了以下错误:

CryptoKeyError: Attempted to import invalid key, or passphrase is bad

我确定密码短语是正确的。所以,我猜我不能在ezPyCrypto中使用Putty生成的私钥。这样理解对吗?这个错误的原因是什么呢?

1 个回答

2

.ppk这个文件后缀让我猜测这个私钥是从puttygen里选择“保存私钥”生成的。这个文件格式几乎只被PuTTY支持,其他软件基本上都不认。关于ezPyCrypto需要什么样的私钥格式我找不到具体信息,但你可以试试在puttygen里选择“转换 -> 导出OpenSSH密钥”来生成的私钥文件,可能会更好用。

撰写回答