All Projects → imagora → omnitty

imagora / omnitty

Licence: GPL-2.0 License
Omnitty: Multiple-Machine SSH Multiplexer

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
QMake
1090 projects

Projects that are alternatives of or similar to omnitty

Ssh Login Alert Telegram
Recieive telegram notfications when user connect to a server
Stars: ✭ 117 (+485%)
Mutual labels:  ssh, ubuntu
MacForensics
Scripts to process macOS forensic artifacts
Stars: ✭ 118 (+490%)
Mutual labels:  mac, osx
Psiphon
A multi-functional version of a popular network circumvention tool
Stars: ✭ 169 (+745%)
Mutual labels:  ssh, ubuntu
Ansible Role Security
Ansible Role - Security
Stars: ✭ 398 (+1890%)
Mutual labels:  ssh, ubuntu
pi-encrypted-boot-ssh
🔑 Raspberry Pi Encrypted Boot with Remote SSH
Stars: ✭ 96 (+380%)
Mutual labels:  ssh, ubuntu
Castle Winbuntu
Homesick Castle for use on WSL.
Stars: ✭ 87 (+335%)
Mutual labels:  ssh, ubuntu
Secretive
Store SSH keys in the Secure Enclave
Stars: ✭ 3,228 (+16040%)
Mutual labels:  ssh, mac
Powerkey
Remap your Macbook's power key to Forward Delete
Stars: ✭ 212 (+960%)
Mutual labels:  mac, osx
Mac-OS-Setup-Applications
👾 All I need to setup a new Mac and the applications I use everyday as a Web Developper
Stars: ✭ 96 (+380%)
Mutual labels:  mac, osx
Jsonify
♨️A delightful JSON parsing framework.
Stars: ✭ 42 (+110%)
Mutual labels:  mac, osx
Swiftyvk
Easy and powerful way to interact with VK API for iOS and macOS
Stars: ✭ 247 (+1135%)
Mutual labels:  mac, osx
yout
🔥 YouTube playlist player for desktop. Free, no YouTube ads, floating window. Available for Linux, Mac and Windows.
Stars: ✭ 82 (+310%)
Mutual labels:  mac, osx
Fire
🔥A delightful HTTP/HTTPS networking framework for iOS/macOS/watchOS/tvOS platforms written in Swift.
Stars: ✭ 243 (+1115%)
Mutual labels:  mac, osx
python3-docker-devenv
Docker Start Guide with Python Development Environment
Stars: ✭ 13 (-35%)
Mutual labels:  ssh, ubuntu
Android Crack Tool
🐞Android crack tool For Mac
Stars: ✭ 2,666 (+13230%)
Mutual labels:  mac, osx
Ubuntu Sshd
Dockerized Ubuntu SSH service
Stars: ✭ 205 (+925%)
Mutual labels:  ssh, ubuntu
Macos Downloader
Command line tool for downloading macOS installers and beta updates
Stars: ✭ 162 (+710%)
Mutual labels:  mac, osx
Openssl Osx Ca
Simple periodic task to sync OSX Keychain certs to Homebrew installed OpenSSL & LibreSSL
Stars: ✭ 185 (+825%)
Mutual labels:  mac, osx
brewfile
🍎 Brewfile to install softwares in macOS for engineers
Stars: ✭ 37 (+85%)
Mutual labels:  mac, osx
dist-detect
Try to determine what Linux/Unix distribution is running on a remote host and get a hint if security updates are applied.
Stars: ✭ 14 (-30%)
Mutual labels:  ssh, ubuntu

OMNITTY

Copyright (c) 2017 [email protected] Licensed under the GNU General Public License See the COPYING file for more details on the license terms.

You can get more informations from omnitty's wiki.

1 About omnitty

OMNITTY MULTIPLE-MACHINE SSH MULTIPLEXER, forked from http://omnitty.sourceforge.net.

This program was written by Bruno Takahashi C. de Oliveira in C language. I rewrite it by C++ and add some new features to it.

Now it supports MacOS, Ubuntu 14.04 64bit and above.

1.1 What is it?

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 terminal is large enough, Omnitty also displays a "summary area" for each machine, in which it shows what the latest output from the machine was.

1.2 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.

2 How to build

The third partys:

  • ncurses
  • jsoncpp
  • log4cplus
  • rote
  • sshpass

2.1 ncurses

For MacOS, you can ignore this step, because the ncurses is system provided.

You can get ncurses by apt-get install on Ubuntu:

sudo apt-get install libncurses5-dev

2.2 Build jsoncpp

Under the omnitty's root directory, get the jsoncpp submodule.

git submodule init
git submodule update

Then build and install the jsoncpp.

cd 3rdparty/jsoncpp
mkdir -p build/debug
cd build/debug
cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DARCHIVE_INSTALL_DIR=. -G "Unix Makefiles" ../..
make
sudo make install
cd ../../../..

By defalut, this will install the libjsoncpp into /usr/local/lib/ and copy the include files into /usr/local/include/.

2.3 Build log4cplus

Run command:

cd 3rdparty/log4cplus-2.0.0-rc1
./configure
make
sudo make install
cd ../..

By defalut, this will install the libjsoncpp into /usr/local/lib/ and copy the include files into /usr/local/include/.

2.4 Build rote

Open your terminal, and cd to the omnitty.

cd 3rdparty/rote-0.2.8
./configure
make
sudo make install
cd ../..

By defalut, this will install the libROTE into /usr/local/lib/ and copy the include files into /usr/local/include/.

2.5 Build sshpass

Command ssh cannot pass password in plaintext, so there are troubles in multi-ssh login.

We'd better not to use this command because it makes it too easy for novice SSH users to ruin SSH's security, and it's better to use ssh identity file instead of password. If there is a reason that must to use password, then you can install the sshpass command.

cd 3rdparty/sshpass-1.06
./configure
make
sudo make install
cd ../..

By defalut, this will install the openssh command into /usr/local/bin/ directory.

2.6 Build omnitty

You can build omnitty by Qt Creator, XCode or CMake.

IDE Path Mac Linux
Qt Creator ide/qmake/omnitty.pro
XCode ide/xcode/omnitty.xcodeproj
CMake ide/cmake/CMakeLists.txt

Qt Creator

cd ide/qmake
qmake *.pro
make

XCode

Open ide/omnitty.xcodeproj and build.

Cmake

cd ide/cmake
camek CMakeLists.txt
make

3 Donate me please

If this software is helpful for you, please donate me!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].