Storm

Manage your SSH like a boss.

This project is maintained by emre

storm

storm is a command line tool to manage your ssh connections.

installation

$ [sudo] pip install stormssh

or if you like 90s:

$ [sudo] easy_install stormssh

or download add storm directory to the your $PATH. E.g.

$ git clone git://github.com/emre/storm.git
$ export PATH=$PATH:`pwd`/storm/storm/bin/; storm

and install dependencies.

getting started

adding hosts

$ storm add [-h]  [--id_file ID_FILE] name connection_uri

Where -h, id_file are optional arguments.

example:

$ storm add my_vps root@emreyilmaz.me:22
my_vps added to your ssh config. you can connect it by typing "ssh my_vps".

modifying hosts

storm edit [-h] [--id_file ID_FILE] name connection_uri

Where -h, id_file are optional arguments.

example:

$ storm edit my_vps emre@emreyilmaz.me:2400
"my_vps" updated successfully.

deleting a single host

$ storm delete name

example:

$ storm delete my_vps
success hostname "my_vps" deleted successfully.

searching hosts

$ storm search git
Listing results for git:
  github -> emre@github.com:22

listing hosts

$ storm list
Listing hosts:
  vps -> 22@emreyilmaz.me:22
  netscaler -> root@127.0.0.1:8081

deleting all hosts

$ storm delete_all
all entries deleted.

custom ssh config directives

storm does not wrap/cover all of the SSHConfig directives since there is a billion of them. But, other than adding it manually to your ssh config file, you can use --o parameter to accomplish this.

It works both add and edit sub commands.

$ storm add web-prod web@webprod.com --o "StrictHostKeyChecking=no" --o "UserKnownHostsFile=/dev/null" 

aliases for sub commands

create a config file in: /home/$user/.stormssh/config

{
    "aliases": {
        "add": ["create", "touch"],
        "delete": ["rm"]
    }

}

all user defined aliases can be seen in storm --help output.

known issues

If you use zsh on a mac and get "command not found: storm" for main storm script, make sure you have storm in your PATH.

example:

$ export PATH=$PATH:/usr/local/share/python/; storm

connection_uri format

- user@server:port
- server:port
- server

defaults for user -> $USER, port -> 22

/see ssh_uri_parser for further look.

tools/libraries using storm

contributors

donations

Flattr this