ktbyers / netmiko

Multi-vendor library to simplify Paramiko SSH connections to network devices
MIT License
3.59k stars 1.31k forks source link

netmiko.ssh_exception.NetmikoAuthenticationException: #2605

Closed YouZhengChuan closed 2 years ago

YouZhengChuan commented 2 years ago
import traceback
from netmiko import ConnectHandler

def login(ip, user, password):
    logging.basicConfig(level=logging.DEBUG)
    conf = {
        'ip': ip,
        'username': user,
        'password': password,
        'device_type': 'hp_comware_telnet',
        'port': 23,
        "verbose": True
    }
    net_connect = ConnectHandler(**conf)
    output = net_connect.send_command("display interface")
    return output

if __name__ == '__main__':
    import logging

    logging.basicConfig(filename="./test.log", level=logging.DEBUG)
    logger = logging.getLogger("netmiko")
    try:
        out_raw = login("192.168.20.203", "admin", "abc123")
    except Exception as e:
        print("login failed: %s, traceback: %s" % (e, traceback.format_exc()))
    else:
        print(f"output: {out_raw}")
login failed: Login failed: 192.168.20.203, traceback: Traceback (most recent call last):
  File "h3c_s5820v2_telnet.py", line 26, in <module>
    out_raw = login("192.168.20.203", "admin", "admin.123")
  File "h3c_s5820v2_telnet.py", line 15, in login
    net_connect = ConnectHandler(**conf)
  File "~/Projects/sw_login/venv3.7/lib/python3.7/site-packages/netmiko/ssh_dispatcher.py", line 326, in ConnectHandler
    return ConnectionClass(*args, **kwargs)
  File "~/Projects/sw_login/venv3.7/lib/python3.7/site-packages/netmiko/hp/hp_comware.py", line 101, in __init__
    super().__init__(*args, **kwargs)
  File "~/Projects/sw_login/venv3.7/lib/python3.7/site-packages/netmiko/hp/hp_comware.py", line 11, in __init__
    return super().__init__(**kwargs)
  File "~/Projects/sw_login/venv3.7/lib/python3.7/site-packages/netmiko/base_connection.py", line 350, in __init__
    self._open()
  File "~/Projects/sw_login/venv3.7/lib/python3.7/site-packages/netmiko/base_connection.py", line 355, in _open
    self.establish_connection()
  File "~/Projects/sw_login/venv3.7/lib/python3.7/site-packages/netmiko/base_connection.py", line 925, in establish_connection
    self.telnet_login()
  File "~/Projects/sw_login/venv3.7/lib/python3.7/site-packages/netmiko/cisco_base_connection.py", line 185, in telnet_login
    raise NetmikoAuthenticationException(msg)
netmiko.ssh_exception.NetmikoAuthenticationException: Login failed: 192.168.20.203
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:write_channel: b'\r\n'
DEBUG:netmiko:read_channel: 
******************************************************************************
* Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved.  *
* Without the owner's prior written consent,                                 *
* no decompiling or reverse-engineering shall be allowed.                    *
******************************************************************************

DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:write_channel: b'\r\n'
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:write_channel: b'\r\n'
DEBUG:netmiko:write_channel: b'\r\n'
DEBUG:netmiko:read_channel: login: 

login: 

login: 

login: 

login: 
YouZhengChuan commented 2 years ago

ConnectHandler add the option global_delay_factor=2 can be resolve this problem.