Omnitty SSH Multiplexer

Copyright © 2004 by Bruno Takahashi C. de Oliveira.
Licensed under the GNU General Public License.

Note: if you don't see a navigation menu on the left, click here.

What is Omnitty?

Omnitty is a curses-based program that allows one to log into several machines simultaneously and interact with them, selectively directing input to individual machines or groups of selected machines.

You can run both line-oriented and screen oriented in the target machines, because Omnitty has built-in terminal emulation capability. When the window is large enough, Omnitty also displays a "summary area" for each machine, in which it shows what the latest output from the machine was, so you can have an idea of what is going on in each machine.


Omnitty runs primarily on Linux, although it should be possible to compile it on other UNIX-like systems. Omnitty depends on the libROTE Terminal Emulation Library, and the standard ncurses and libc libraries.

More Details

Multiple-host network administration usually involves running the same set of commands on several different machines. An administrator might ssh into each of the machines in his network individually to perform the required tasks, but the process soon becomes repetitive and prone to errors. Scripts might help in the case of noninteractive programs and when the administrator knows exactly what commands are to be given. Error handling in these scripts is also difficult to code, and the process becomes especially tedious if these tasks have to be done regularly.

Omnitty tries to present a different approach to manipulating several machines remotely. It simultaneously logs you into all the machines you specify and then presents a screen in which you navigate through the list of machines. When you select a machine, its "terminal" is shown onscreen and they keypresses you type are sent to that machine while it is selected. The user may freely navigate the list, interacting with the machines in any order.

Another feature is that you can 'tag' machines on the list and enter a mode where the input you provide is directed to ALL the machines you tagged, simultaneously. Thus you might tag all the machines in which you need to run a particular command and then type the command once to have all machines execute it.

Omnitty not only works with regular commands, but also with visual programs. For example, you might run 'vi' remotely on several machines simultaneously, and every keystroke you supply will be reproduced in every machine you tagged. Thus you might interactively edit files in several machines at once.