Manage your SSH like a boss.
This project is maintained by emre
storm is a command line tool to manage your ssh connections.
$ [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.
$ 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".
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.
$ storm delete name
example:
$ storm delete my_vps
success hostname "my_vps" deleted successfully.
$ storm search git
Listing results for git:
github -> emre@github.com:22
$ storm list
Listing hosts:
vps -> 22@emreyilmaz.me:22
netscaler -> root@127.0.0.1:8081
$ storm delete_all
all entries deleted.
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"
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.
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
- user@server:port
- server:port
- server
defaults for user -> $USER, port -> 22
/see ssh_uri_parser for further look.