netmiko连接错误 - TypeError:connect()得到一个意外的关键字参数'passphrase'

问题描述 投票:0回答:2

我正在使用netmiko和尝试基本连接的第一步:

from netmiko import ConnectHandler

device = ConnectHandler(device_type="cisco_ios", ip="10.118.10.8", username="name", password="passowrd")
output = device.send_command("show version")
print output
device.disconnect()

我尝试了device_type =“cisco_ios”和arista_eos,我两次收到以下内容:

Traceback (most recent call last):
File "netmiko_v1.py", line 3, in <module>
device = ConnectHandler(device_type="cisco_ios", ip="10.118.10.8", username="name", password="password")
File "build/bdist.linux-x86_64/egg/netmiko/ssh_dispatcher.py", line 205, in ConnectHandler
File "build/bdist.linux-x86_64/egg/netmiko/base_connection.py", line 270, in __init__
File "build/bdist.linux-x86_64/egg/netmiko/base_connection.py", line 766, in establish_connection
TypeError: connect() got an unexpected keyword argument 'passphrase'

我假设我得到一些非常简单明显的错误,有什么建议吗?

添加数据包捕获不会向目标IP地址显示任何内容,因此假设这是本地问题。由于主机缺乏权限我不得不在用户空间安装netmiko,不确定这是否会导致问题?

python cisco
2个回答
1
投票

这不是netmiko问题。它使用的paramiko库似乎有一些问题。确保将您的设置上的paramiko版本升级到最新版本(在我的情况下为2.4.1): -

    >>> import paramiko
    >>> print paramiko.__version__
    2.4.1

    I saw this issue if the version of paramiko is 2.0.0 or less
    ##### Log Below ########
    >>> import paramiko
    >>> print paramiko.__version__
    2.0.0

    >>> from netmiko import ConnectHandler
    >>> dut1 = {
    ...     'device_type': 'vyos',
    ...     'ip': 'X.X.X.X',
    ...     'username': 'XXXX',
    ...     'password': 'XXX',
    ... }
    >>> t = ConnectHandler(**dut1)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "netmiko/ssh_dispatcher.py", line 210, in ConnectHandler
        return ConnectionClass(*args, **kwargs)
      File "netmiko/base_connection.py", line 270, in __init__
        self.establish_connection()
      File "netmiko/base_connection.py", line 766, in establish_connection
        self.remote_conn_pre.connect(**ssh_connect_params)
TypeError: connect() got an unexpected keyword argument 'passphrase'

 Hope this helps.

0
投票

这是一个Netmiko问题,因为它意味着我需要推出Netmiko版本要求来指定更新版本的Paramiko,但是肯定可以修复它。

© www.soinside.com 2019 - 2024. All rights reserved.