Skip to content

Unable to connect to Accedian TE NID #3721

@esundberg

Description

@esundberg

Hi. We are unable to use netmiko to connect to Accedian TE NID's. They use the SSH-2.0-dropbear_2016.74 SSH Server. Accedian GT NID Work.

I am able to use putty and secure CRT to SSH to the device. I know drop bear ssh server has some issue as we had to modify our SecureCRT config for it to work. Here is from there support, but I don't think this is related. Just an FYI.

                  Some SSH2 server implementations based on Dropbear
                  introduced a limit of 20 maximum host key algorithms a
                  client could send as "supported" during the initial protocol
                  negotiation phase.
                  
                  SecureCRT 9.6 supports 24 total host key algorithms. With
                  all of the supported host key algorithms enabled, the newer
                  version is thus exercising the bug in the older Dropbear-
                  based SSH2 server implementation present on the device(s)
                  with which you're experiencing problems.
                  
                  Versions of SecureCRT prior to 9.6 supported fewer key
                  exchange algorithms, so connections from earlier versions
                  would still potentially work as expected because the
                  Dropbear (or similar) server bug/limitation wasn't being
                  triggered.

I have to modify some 5K Accedian NID's. Looking to automate it.

Any help is greatly appreciated. Let me know if you have any questions or would like a Accedian TE NID accessible remotely.

-Erik

Happens on both Windows and Ubuntu

Windows 11 using PyCharm, Python 3.12, Netmiko 4.6.0, paramiko 4.0.0
bcrypt | 4.3.0 | 4.3.0
cffi | 1.17.1 | 1.17.1
cryptography | 45.0.6 | 45.0.6
dotenv | 0.9.9 | 0.9.9
future | 1.0.0 | 1.0.0
invoke | 2.2.0 | 2.2.0
markdown-it-py | 3.0.0 | 4.0.0
mdurl | 0.1.2 | 0.1.2
netmiko | 4.6.0 | 4.6.0
ntc-templates | 7.9.0 | 8.0.0
paramiko | 4.0.0 | 4.0.0
ping3 | 5.1.3 | 5.1.5
pip | 25.0.1 | 25.2
pycparser | 2.22 | 2.22
pygments | 2.19.2 | 2.19.2
pynacl | 1.5.0 | 1.5.0
pyserial | 3.5 | 3.5
python-dotenv | 1.1.1 | 1.1.1
pyyaml | 6.0.2 | 6.0.2
rich | 14.1.0 | 14.1.0
ruamel-yaml | 0.18.14 | 0.18.15
ruamel-yaml-clib | 0.2.12 | 0.2.12
scp | 0.15.0 | 0.15.0
setuptools | 80.9.0 | 80.9.0
six | 1.17.0 | 1.17.0
tenacity | 9.1.2 | 9.1.2
textfsm | 1.1.3 | 2.1.0

Ubuntu 24.04
~/netmiko-testing$ pip freeze
bcrypt==4.3.0
cffi==1.17.1
cryptography==45.0.6
invoke==2.2.0
markdown-it-py==4.0.0
mdurl==0.1.2
netmiko==4.6.0
ntc_templates==8.0.0
paramiko==4.0.0
pycparser==2.22
Pygments==2.19.2
PyNaCl==1.5.0
pyserial==3.5
PyYAML==6.0.2
rich==14.1.0
ruamel.yaml==0.18.15
ruamel.yaml.clib==0.2.12
scp==0.15.0
textfsm==2.1.0

Any help would be appreacited.

from netmiko import ConnectHandler
import logging
logging.basicConfig(
    filename='netmiko_debug.log',
    level=logging.DEBUG,
    filemode='w',
    force=True)
logger = logging.getLogger("netmiko")

device = {
    "device_type": "accedian",
    "host": "172.18.1.13",
    "username": "admin",
    "password": "password",
    "verbose": True,
    "session_log": "netmiko_session.log",
    "session_log_record_writes": True,
    "session_log_file_mode": "write",
}

conn = ConnectHandler(**device)
command = "board show info"
print(f"Running Command: {command}")
output = conn.send_command(command)
print("Command output:\n", output)
conn.send_command("exit")
conn.disconnect()

Session file is empty

Debug Logs

DEBUG:paramiko.transport:starting thread (client mode): 0x4cbfbe00
DEBUG:paramiko.transport:Local version/idstring: SSH-2.0-paramiko_4.0.0
DEBUG:paramiko.transport:Remote version/idstring: SSH-2.0-dropbear_2016.74
INFO:paramiko.transport:Connected (version 2.0, client dropbear_2016.74)
DEBUG:paramiko.transport:=== Key exchange possibilities ===
DEBUG:paramiko.transport:kex algos: [email protected], diffie-hellman-group14-sha1, diffie-hellman-group1-sha1, [email protected]
DEBUG:paramiko.transport:server key: ssh-rsa, ssh-dss
DEBUG:paramiko.transport:client encrypt: aes128-ctr, aes256-ctr
DEBUG:paramiko.transport:server encrypt: aes128-ctr, aes256-ctr
DEBUG:paramiko.transport:client mac: hmac-sha2-256, hmac-sha2-512
DEBUG:paramiko.transport:server mac: hmac-sha2-256, hmac-sha2-512
DEBUG:paramiko.transport:client compress: none
DEBUG:paramiko.transport:server compress: none
DEBUG:paramiko.transport:client lang: <none>
DEBUG:paramiko.transport:server lang: <none>
DEBUG:paramiko.transport:kex follows: False
DEBUG:paramiko.transport:=== Key exchange agreements ===
DEBUG:paramiko.transport:Kex: [email protected]
DEBUG:paramiko.transport:HostKey: ssh-rsa
DEBUG:paramiko.transport:Cipher: aes128-ctr
DEBUG:paramiko.transport:MAC: hmac-sha2-256
DEBUG:paramiko.transport:Compression: none
DEBUG:paramiko.transport:=== End of kex handshake ===
DEBUG:paramiko.transport:kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
DEBUG:paramiko.transport:Switch to new keys ...
DEBUG:paramiko.transport:Adding ssh-rsa host key for 172.18.1.13: b'23331918e0a5cd69fbb7e1fe6a1ec0ea'
DEBUG:paramiko.transport:userauth is OK
INFO:paramiko.transport:Authentication (password) successful!
DEBUG:paramiko.transport:[chan 0] Max packet in: 32768 bytes
DEBUG:paramiko.transport:[chan 0] Max packet out: 32759 bytes
DEBUG:paramiko.transport:Secsh channel 0 opened.
DEBUG:paramiko.transport:[chan 0] Sesch channel 0 request ok
DEBUG:paramiko.transport:[chan 0] Sesch channel 0 request ok
DEBUG:netmiko:write_channel: b'\n'
DEBUG:netmiko:read_channel: 


DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
~~~~~~~~~~SNIP~~~~~~~~~~~
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:paramiko.transport:[chan 0] EOF received (0)
DEBUG:paramiko.transport:[chan 0] Unhandled channel request "exit-signal"
DEBUG:paramiko.transport:[chan 0] EOF sent (0)
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
DEBUG:netmiko:read_channel: 
~~~~~~~~~~SNIP~~~~~~~~~~~

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions