Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

README.md

SSH Commander

This Command Line Interface (CLI) tool, allows you to execute various commands on several remote hosts, using the SSH protocol. As a result, you get a per-host generated output of each command you specified.

You simply specify a plain text file with a list of remote hosts to connect to (domain names or IP addresses), and a comma-separated list of commands to execute on those. Note that access credentials (user and password) must be the same for all the target hosts!.

Highlights and features

  • Multithreaded since version 0.2!.
  • Almost no setup required, after installed!.
  • Easy to use CLI syntax.
  • Colorized output (since v0.2)!.

Requirements

Make sure your system meets the following requirements:

Installation

The recommended method for installing this tool, is using pip:

pip install ssh-commander

Usage

When using ssh-commander, respect the following syntax:

usage: ssh-commander [-h] [-p [PORT]] [-v] FILE USER COMMANDS

Excecute commands on several remote hosts, with SSH.

positional arguments:
  FILE                  Plain text file with list of hosts
  USER                  User to login on remote hosts
  COMMANDS              Comma separated commands to be executed on remote
                        hosts

optional arguments:
  -h, --help            show this help message and exit
  -p [PORT], --port [PORT]
                        Specify SSH port to connect to hosts
  -v, --version         Show current version

First, remember to create a text file (name it whatever you like), where you list the target hosts. Its content, may look like this:

# This is a comment. It'll be ignored!.
192.168.0.10
192.168.0.11
192.168.0.12

Also, note that the password for the user provided, is gonna be asked only once. Therefore, those credentials, should be valid on all target hosts!.

Examples

Let's say you have some managed switches (or routers):

ssh-commander hosts.txt root "terminal length 0, sh port-security"

They could rather be some GNU/Linux servers, as well:

ssh-commander hosts.txt foones "hostname, whoami"

License

This program is licensed under the GPLv3.

You can’t perform that action at this time.