• Stars
    star
    164
  • Rank 230,032 (Top 5 %)
  • Language
    Go
  • License
    MIT License
  • Created about 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

easy way to distribute commands over ssh.

grapes Go Report Card Build Status Build status GoDoc

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