Awesome
grapes
grapes is lightweight tool designed to distribute commands over ssh with ease.
Update (25/04/2019)
Handshake validation is now in place in order to fix CVE-2017-3204
, The validation will use the built-in fingerprint list ~/.ssh/known_hosts
as default.
In order to add your ssh server fingerprint to known_hosts
run the following:
$ ssh-keyscan -H YOURHOST.COM >> ~/.ssh/known_hosts
Run with docker
docker run -v ~/.grapes.yml:/root/.grapes.yml -v ~/.ssh/id_rsa:/root/.ssh/id_rsa -it docker.pkg.github.com/yaronsumel/grapes/grapes:0.3.0
Installation
Run (golang v1.10+ required):
$ export GO111MODULE=on; go get -u github.com/yaronsumel/grapes
Usage
Example:
$ grapes -c config.yml -i ~/.ssh/id_rsa -s prod -cmd whats_up --async
- use the --help flag for full usage output.
Config
config structure (YAML):
version: 1
servers:
prod :
- name : "prod server #1"
host : "prod.example.com:22"
user : "ubuntu"
staging :
- name : "staging server #1"
host : "staging.example.com:22"
user : "ubuntu"
- name : "staging server #2"
host : "staging.example.com:23"
user : "ubuntu"
commands:
whats_up :
- "ls -al /tmp"
- "date"
date :
- "date"
Written and Maintained by @YaronSumel