1

我正在使用帕拉米科。知道如何使用该Paramiko.RSAKey.from_private_key()功能吗?我有兴趣使用函数来解析私钥并将该私钥用于 SSHClient。

我想运行的代码:

file = './file.pem'
mypkey = paramiko.RSAKey.from_private_key_file(file)

结果:

ImportError:加密的版本与加载的共享对象不匹配。如果您在 Python 路径中安装了多个密码学副本,则可能会发生这种情况。请尝试创建一个新的虚拟环境来解决此问题。加载的python版本:2.4.2,共享对象版本:b'2.7'

它似乎是 lib 密码学的一个问题:

from cryptography.hazmat.backends.openssl.backend import backend

我有 python 3.7.1 我已经安装了 Paramiko 使用pip install

以下是有关我用于 paramiko 的版本的一些信息:

pip show paramiko
Name: paramiko
Version: 2.6.0
Summary: SSH2 protocol library
Home-page: https://github.com/paramiko/paramiko/
License: LGPL
Requires: pynacl, bcrypt, cryptography
Required-by: sshtunnel

以下是有关我用于加密的版本的一些信息:

pip show cryptography
Name: cryptography
Version: 2.7
Summary: cryptography is a package which provides cryptographic recipes and primitives to Python developers.
Home-page: https://github.com/pyca/cryptography
License: BSD or Apache License, Version 2.0
Requires: six, asn1crypto, cffi
Required-by: service-identity, pyOpenSSL, paramiko

我没有安装密码学并安装了相同版本的 paramiko:

pip install cryptography==2.6.0

相同的错误仍然存​​在

4

1 回答 1

2

这个问题几乎总是由同时安装多个加密副本引起的。如果您同时使用pip系统的包管理器安装了密码学,则可能会发生这种情况。尝试构建一个新的 virtualenv,将您的依赖项安装到其中,这应该可以解决问题。

于 2019-07-25T17:21:35.297 回答