nanog mailing list archives

tel script


From: Robert Drake <rdrake () direcpath com>
Date: Mon, 28 Mar 2016 20:14:08 -0400

This is a program for logging into devices.  You can find it here:

https://github.com/rfdrake/tel

I don't like to self promote things, but I'm interested in feedback. I'm also interested in alternatives if someone wrote something better.

I started it a long time ago as a lighter clogin which didn't hang as much. Moving from expect to perl cut and bunch of the cruft out because of how verbose the TCL language is. My script is now larger than clogin and no longer consists of a single file. It's also arguably much cruftier in places, but it's gained some features I think people may like:

Color syntax highlighting for "show interface" and some other commands
An attempt to make backspace work on platforms with differing opinions of ^H vs ^? Run multiple script files and multiple devices in the same command (tel -x script1.txt -x script2.txt router router2 router3)
Unified logout command: ctrl-d
send slow (tel -s .5 -x script1.txt router) for sending scripts to devices with buffering issues send slow interactively (tel -S .5 router) for cut and paste to devices with buffering issues (some terminal emulators will do this if it's the only thing you need) change your device profile after login (tel -A zhone oob-test-lab:2004) helpful if you login through an out of band console which is made by one vendor into a device made by another vendor Support for KeePass, Pass, PWSafe3, and Gnome/KDE/MacOS Keyring, as well as a combination of these for storing passwords in encrypted files

The entire thing is very customizeable for people who know perl or scripting languages. It's designed for NOC use on bounce servers where the administrator might setup the global profile in /etc/telrc, then the individual users would make their own profiles in their home directories to override individual settings.

Limitations:

I'm pretty sure I tried to build this on Cygwin once and it failed for reasons that probably can never be fixed. I've also never tested on MacOSX.

I've run it successfully on various Linux as well as FreeBSD and OpenBSD.


Current thread: