我正在通过Eric Chou的一本名为Mastering Python网络的书(我是一名网络工程师) .
其中一个示例提供了使用netconf连接到Cisco Nexus设备的示例代码,但在尝试连接时,我收到以下与以下相关的错误:
AttributeError:'_ RSAPublicKey'对象没有属性'verify'
任何人都可以就可能出现的问题提出建议 .
我在Ubuntu 16.04 LTS上安装了最新版本的Python3,并按照本书中的说明下载并安装了最新版本的ncclient .
顺便说一下,我连接到Cisco Devnet Nexus NX-API沙盒模拟器,也使用下面代码中的凭据显示手动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
)
我得到以下错误:
未知异常:'_ RSAPublicKey'对象没有属性'verify'Trackback(最近一次调用最后一次):文件“/usr/local/lib/python3.5/dist-packages/paramiko/transport.py”,第1925行,in运行self.kex_engine.parse_next(ptype,m)文件“/usr/local/lib/python3.5/dist-packages/paramiko/kex_ecdh_nist.py”,第47行,在parse_next中返回self._parse_kexecdh_reply(m)文件“/ usr / local / lib / python3.5 / dist-packages / paramiko / kex_ecdh_nist.py“,第107行,在_parse_kexecdh_reply self.transport.verify_key(K_S,sig)文件”/usr/local/lib/python3.5/dist -packages / paramiko / transport.py“,第1750行,在_verify_key中,如果不是key.verify_ssh_sig(self.H,消息(sig)):文件”/usr/local/lib/python3.5/dist-packages/paramiko/ rsakey.py“,第127行,在verify_ssh_sig中key.verify(AttributeError:' RSAPublicKey'对象没有属性'verify'Trackback(最近一次调用最后一次):文件”“,第8行,在文件”/ usr / local / lib中/python3.5/dist-packages/ncclient-0.5.3-py3.5.egg/ncclient/manager.py“,第155行,在连接文件中”/ usr / l ocal / lib / python3.5 / dist-packages / ncclient-0.5.3-py3.5.egg / ncclient / manager.py“,第120行,在connect_ssh文件中”/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中提升e文件”/usr/local/lib/python3.5/dist-packages/paramiko/transport.py“,第1925行,运行self.kex_engine.parse_next(ptype,m)文件“/usr/local/lib/python3.5/dist-packages/paramiko/kex_ecdh_nist.py”,第47行,在parse_next中返回self._parse_kexecdh_reply(m)文件“/usr/local/lib/python3.5/dist- packages / paramiko / kex_ecdh_nist.py“,第107行,在_parse_kexecdh_reply self.transport.verify_key(K_S,sig)文件”/usr/local/lib/python3.5/dist-packages/paramiko/transport.py“,第1750行,在_verify_key中,如果不是key.verify_ssh_sig(self.H,Message(sig)):在verify_ssh_sig键中输入文件“/usr/local/lib/python3.5/dist-packages/paramiko/rsakey.py”,第127行 . 验证(AttributeError:' RSAPu blicKey'对象没有属性'verify'
2 回答
只是上次更新的后续注释,目录ncclient是从以下git存储库克隆的:
思科客户端脚本可以在这里的书github repo上看到,https://github.com/PacktPublishing/Mastering-Python-Networking/blob/master/Chapter03/Cisco/cisco_nxapi_1.py .
埃里克
更新:
我还联系了我工作的书的作者(Eric Chou(掌握Python网络)) . Eric好心地回答显示他为复制代码所采取的步骤以及他在Ubuntu主机上安装的相关依赖项 .
一旦我(重新)在我的Ubuntu主机上安装了相同的软件包/依赖项列表,代码工作/错误清除,所以我显然已经缺少下面的一个或多个 .
如果有人遇到类似的话,我采取以下步骤来修复我看到的错误: