davidjohngee / clicrud Goto Github PK
View Code? Open in Web Editor NEWBrocade CLI interface manager via SSH & Telnet for ICX, MLX, CER, CES, vRouter
License: Apache License 2.0
Brocade CLI interface manager via SSH & Telnet for ICX, MLX, CER, CES, vRouter
License: Apache License 2.0
Connecting to a ICX6610-48P running 07.4.00dT7f1 fails. It appears that the password prompt is caught by and sent from the if statement in clicrud/clicrud/device/generic/ver/base/init.py on line 137, but immediately after that if statement _detect is set back to True and clicrud is caught back trying to read for a password prompt and fails because the device is now at the device prompt.
After a reinstall and upgrade to version 0.2.13 from version 0.1.4 we could no longer send commands to the brocade. (ssh hangs)
Seems like the following additions is causing issues:
509 self.output = self.blocking_recv()
510 self.output = self.blocking_recv() (this second statement seems to work fine with NOS)
Commenting out 510 does work, however the 'show version' command is causing paging so to fix this we could add:
if _NOS_present:
self.client_conn.send("terminal length 0\n")
else:
self.client_conn.send("q\n")
self.output = self.blocking_recv()
self.client_conn.send("skip\n")
Then this module works again however it breaks NOS.
We have replaced everything below line 503 with the code of version 0.1.4
if "#" in self.output:
self.client_conn.send("\n")
self.output = self.blocking_recv()
self._hostname = self.output.translate(None, '\r\n')
self.client_conn.send("skip\n")
self.output = self.blocking_recv()
Thanks, Jeroen
We could really do with vrouter capability as well.
On a ICX6430 (and FLS-48G) python hangs during the transport command while trying to run the command transport = device(...). I cannot enter any command after that line until i Control-C that task.
clicrud-paramiko.log shows that the script successfully logins in.
DEBUG:paramiko.transport:starting thread (client mode): 0x2d98390L
DEBUG:paramiko.transport:Local version/idstring: SSH-2.0-paramiko_1.16.0
DEBUG:paramiko.transport:Remote version/idstring: SSH-2.0-RomSShell_4.61
INFO:paramiko.transport:Connected (version 2.0, client RomSShell_4.61)
DEBUG:paramiko.transport:kex algos:[u'diffie-hellman-group1-sha1'] server key:[u'ssh-dss'] client encrypt:[u'aes256-cbc', u'aes192-cbc', u'aes128-cbc', u'3des-cbc'] server encrypt:[u'aes256-cbc', u'aes192-cbc', u'aes128-cbc', u'3des-cbc'] client mac:[u'hmac-sha1'] server mac:[u'hmac-sha1'] client compress:[u'none'] server compress:[u'none'] client lang:[u''] server lang:[u''] kex follows?False
DEBUG:paramiko.transport:Kex agreed: diffie-hellman-group1-sha1
DEBUG:paramiko.transport:Cipher agreed: aes128-cbc
DEBUG:paramiko.transport:MAC agreed: hmac-sha1
DEBUG:paramiko.transport:Compression agreed: none
DEBUG:paramiko.transport:kex engine KexGroup1 specified hash_algo
DEBUG:paramiko.transport:Switch to new keys ...
DEBUG:paramiko.transport:Adding ssh-dss host key for 10.x.x.x: 50ad3b873cbe42d39624e60d6813cf73
DEBUG:paramiko.transport:userauth is OK
INFO:paramiko.transport:Auth banner:
INFO:paramiko.transport:Authentication (password) successful!
DEBUG:paramiko.transport:[chan 0] Max packet in: 32768 bytes
DEBUG:paramiko.transport:[chan 0] Max packet out: 4096 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
It doesn't matter if i connect via SSH or Telnet.
A test run on a VDX 6740 worked fine.
This is an important feature needed when using CLICrud to connect to devices from 'outside' the customer domain where an intermediate DMZ/jumphost is often used.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.