首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python3 ncclient/paramiko时出错?

使用Python3 ncclient/paramiko时出错?
EN

Stack Overflow用户
提问于 2018-04-06 18:35:23
回答 2查看 1.3K关注 0票数 3

我目前正在阅读埃里克·周( Eric )撰写的一本名为“掌握Python网络”的书(我是一名网络工程师)。

其中一个示例提供了使用netconf连接到Cisco Nexus设备的示例代码,但在试图连接时,我将得到以下与以下相关的错误:

AttributeError:“_RSAPublicKey”对象没有属性“验证”

有谁能就这个问题提出建议吗。

我已经在Ubuntu16.04LTS上安装了最新版本的Python3,并按照书中的说明下载并安装了最新版本的ncclient。

顺便说一句,我正在连接到Cisco Devnet Nexus NX沙箱模拟器,使用下面代码中显示的凭据的手动ssh终端连接工作得很好。

在运行以下代码时:

代码语言:javascript
复制
from ncclient import manager
conn=manager.connect(
 host='sbx-nxos-mgmt.cisco.com',
 port=8181,
 username='admin',
 password='Admin_1234!',
 hostkey_verify=False,
 device_params={'name': 'nexus'},
 look_for_keys=False
)

我得到以下错误:

未知异常:“"/usr/local/lib/python3.5/dist-packages/paramiko/transport.py",”对象没有属性“验证”跟踪(最近一次调用):文件_RSAPublicKey行1925,在运行self.kex_engine.parse_next(ptype,m)文件"/usr/local/lib/python3.5/dist-packages/paramiko/kex_ecdh_nist.py",行47,在"/usr/local/lib/python3.5/dist-packages/paramiko/kex_ecdh_nist.py",返回self._parse_kexecdh_reply(m)文件的第107行,在_parse_kexecdh_reply self.transport._verify_key(K_S,sig)文件的第1750行中,在_verify_key (如果不是key.verify_ssh_sig)中(self.H.H,Message(sig)):文件"/usr/local/lib/python3.5/dist-packages/paramiko/rsakey.py",第127行,在verify_ssh_sig key.verify中( AttributeError:'_RSAPublicKey‘对象没有属性’_RSAPublicKey‘ 追溯(最近一次调用):文件"",第8行,文件"/usr/local/lib/python3.5/dist-packages/ncclient-0.5.3-py3.5.egg/ncclient/manager.py",第155行,连接文件"/usr/local/lib/python3.5/dist-packages/ncclient-0.5.3-py3.5.egg/ncclient/manager.py",行120,在“文件”"/usr/local/lib/python3.5/dist-packages/ncclient-0.5.3-py3.5.egg/ncclient/transport/ssh.py",行409、“连接文件”"/usr/local/lib/python3.5/dist-packages/paramiko/transport.py",行545、“start_client raise e "/usr/local/lib/python3.5/dist-packages/paramiko/transport.py",”行1925中,在run self.kex_engine.parse_next(ptype,m) File "/usr/local/lib/python3.5/dist-packages/paramiko/kex_ecdh_nist.py",第47行中,在parse_next返回self._parse_kexecdh_reply(m) File "/usr/local/lib/python3.5/dist-packages/paramiko/kex_ecdh_nist.py",第107行中,在_parse_kexecdh_reply self.transport._verify_key(K_S )中,文件"/usr/local/lib/python3.5/dist-packages/paramiko/transport.py",第1750行,_verify_key (如果不是key.verify_ssh_sig)(Sel.H,Message( sig) ):文件"/usr/local/lib/python3.5/dist-packages/paramiko/rsakey.py",第127行,verify_ssh_sig key.verify( AttributeError:'_RSAPublicKey‘对象没有属性’验证‘)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-07 23:03:51

只是上一次更新的后续说明,ncclient目录是从以下git存储库中克隆的:

代码语言:javascript
复制
$ git clone https://github.com/ncclient/ncclient
$ cd ncclient/
$ sudo python3 setup.py install

思科客户端脚本可以在书github这里看到,1.py

埃里克

票数 0
EN

Stack Overflow用户

发布于 2018-04-07 21:20:41

更新:

我还联系了我正在工作的这本书的作者(Eric (精通Python网络))。Eric善意地回答了他为复制代码而采取的步骤,以及他在Ubuntu主机上安装的相关依赖项。

一旦我在我的Ubuntu主机上安装了相同的包/依赖项列表,代码就被清除了,所以我肯定丢失了下面的一个或多个。

如果有人遇到类似的情况,那么我采取以下步骤修复我所看到的错误:

代码语言:javascript
复制
sudo apt-get install -y python3-dev libxml2-dev libxslt1-dev libffi-dev libssl-dev zlib1g-dev python3-pip git python3-requests
cd ncclient/
ncclient$ sudo python3 setup.py install
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49699101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档