我目前正在阅读埃里克·周( Eric )撰写的一本名为“掌握Python网络”的书(我是一名网络工程师)。
其中一个示例提供了使用netconf连接到Cisco Nexus设备的示例代码,但在试图连接时,我将得到以下与以下相关的错误:
AttributeError:“_RSAPublicKey”对象没有属性“验证”
有谁能就这个问题提出建议吗。
我已经在Ubuntu16.04LTS上安装了最新版本的Python3,并按照书中的说明下载并安装了最新版本的ncclient。
顺便说一句,我正在连接到Cisco Devnet Nexus NX沙箱模拟器,使用下面代码中显示的凭据的手动ssh终端连接工作得很好。
在运行以下代码时:
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‘对象没有属性’验证‘)
发布于 2018-04-07 23:03:51
只是上一次更新的后续说明,ncclient目录是从以下git存储库中克隆的:
$ git clone https://github.com/ncclient/ncclient
$ cd ncclient/
$ sudo python3 setup.py install思科客户端脚本可以在书github这里看到,1.py。
埃里克
发布于 2018-04-07 21:20:41
更新:
我还联系了我正在工作的这本书的作者(Eric (精通Python网络))。Eric善意地回答了他为复制代码而采取的步骤,以及他在Ubuntu主机上安装的相关依赖项。
一旦我在我的Ubuntu主机上安装了相同的包/依赖项列表,代码就被清除了,所以我肯定丢失了下面的一个或多个。
如果有人遇到类似的情况,那么我采取以下步骤修复我所看到的错误:
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 installhttps://stackoverflow.com/questions/49699101
复制相似问题