SSH通过python(paramiko)错误:“'_ _ AllipticCurvePublicKey'对象没有属性'verify'”

时间:2017-09-26 22:37:34

标签: python ubuntu ssh paramiko

我正在尝试使用python库paramiko连接到SSH服务器。 相同的代码之前在同一台计算机上运行,​​但在尝试连接时它开始显示警告。我可以通过终端使用同一台计算机和相同的用户连接到SSH服务器。 python代码也适用于连接到同一LAN网络的其他计算机。 我也尝试重新启动两台电脑并重新安装paramiko但没有成功。

以下是提供的代码和警告信息。

class SSH:
    def __init__(self, ip):
        self.ssh = SSHClient()
        self.ssh.load_system_host_keys()
        self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        self.ssh.connect(hostname=ip ,username='urs',password='pass')

警告讯息:

Unknown exception: '_EllipticCurvePublicKey' object has no attribute 'verify'
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/paramiko/transport.py", line 1886, in run
    self.kex_engine.parse_next(ptype, m)
  File "/usr/local/lib/python3.5/dist-packages/paramiko/kex_ecdh_nist.py", line 47, in parse_next
    return self._parse_kexecdh_reply(m)
  File "/usr/local/lib/python3.5/dist-packages/paramiko/kex_ecdh_nist.py", line 105, in _parse_kexecdh_reply
    self.transport._verify_key(K_S, sig)
  File "/usr/local/lib/python3.5/dist-packages/paramiko/transport.py", line 1748, in _verify_key
    if not key.verify_ssh_sig(self.H, Message(sig)):
  File "/usr/local/lib/python3.5/dist-packages/paramiko/ecdsakey.py", line 216, in verify_ssh_sig
    self.verifying_key.verify(
AttributeError: '_EllipticCurvePublicKey' object has no attribute 'verify'

有人建议问题可能在哪里吗? 我试图google并在这里查找错误,但无法在任何地方找到它。 提前谢谢!

1 个答案:

答案 0 :(得分:4)

我有与现在完全相同的错误。我在paramiko版本2.3.0中遇到此错误。我降级到2.1.2,我正在进行的操作正常进行。