easy way to distribute commands over ssh.

Related tags

DevOps Tools grapes
Overview

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
You might also like...
Command-line tool to remotely execute commands on Windows machines through WinRM

winrm-cli This is a Go command-line executable to execute remote commands on Windows machines through the use of WinRM/WinRS. Note: this tool doesn't

A collection of commands for work done on GitHub

gh_sugar A collection of commands for work done on GitHub command pr Create pull request. Usage of pr: -from string from branch -owner str

Infrastructure testing helper for AWS Resources that uses AWS SSM to remotely execute commands on EC2 machines.
Infrastructure testing helper for AWS Resources that uses AWS SSM to remotely execute commands on EC2 machines.

Infrastructure testing helper for AWS Resources that uses AWS SSM to remotely execute commands on EC2 machines, to enable infrastructure engineering teams to write tests that validate behaviour.

Kubectl plugin to run curl commands against kubernetes pods

kubectl-curl Kubectl plugin to run curl commands against kubernetes pods Motivation Sending http requests to kubernetes pods is unnecessarily complica

This repo includes several winrm applications like transfering files, running commands.
This repo includes several winrm applications like transfering files, running commands.

WinRM Tools This repo includes several WinRM tools written with Go: File transfering between two Powershell session. Running command on remote Powersh

Execute multiple shell commands like Docker-Compose

parx parx is a simple tool to run multiple commands in parallel while having the output structured like Docker Compose does that. This is useful when

Prestic - Lets you define and run restic commands from a YAML file

Pete's Restic Lets you define and run restic commands from a YAML file. Features

Tool to convert docker-compose files to set of simple docker commands

docker-decompose Tool to convert docker-compose files to set of simple docker commands. Install Use go get to install the latest version of the librar

Copy files and artifacts via SSH using a binary, docker or Drone CI.

drone-scp Copy files and artifacts via SSH using a binary, docker or Drone CI. Feature Support routines. Support wildcard pattern on source list. Supp

Comments
  • Fatal: Could not parse identity file

    Fatal: Could not parse identity file

    With my rsa key I use to connect to servers ( working fine ) I get an error Fatal: Could not parse identity file when using grapes.

    It is AES-128-CBC, Proc-Type: 4,ENCRYPTED

    bug 
    opened by sascha-andres 2
Releases(v0.3.1)
Owner
Yaron Sumel
backend of things. founder of @digota.
Yaron Sumel
Fleex allows you to create multiple VPS on cloud providers and use them to distribute your workload.

Fleex allows you to create multiple VPS on cloud providers and use them to distribute your workload. Run tools like masscan, puredns, ffuf, httpx or a

null 175 Dec 5, 2022
This is a SSH CA that allows you to retrieve a signed SSH certificate by authenticating to Duo.

github-duo-ssh-ca Authenticate to GitHub Enterprise in a secure way by requiring users to go through a Duo flow to get a short-lived SSH certificate t

Niels Hofmans 8 Jan 7, 2022
Integrated ssh-agent for windows. (pageant compatible. openSSH ssh-agent etc ..)

OmniSSHAgent About The chaotic windows ssh-agent has been integrated into one program. Chaos Map of SSH-Agent on Windows There are several different c

YAMASAKI Masahide 47 Dec 3, 2022
Run VS Code on any server over SSH.

sshcode This project has been deprecated in favour of the code-server install script See the discussion in #185 sshcode is a CLI to automatically inst

Coder 5.8k Nov 30, 2022
go-awssh is a developer tool to make your SSH to AWS EC2 instances easy.

Describing Instances/VPCs data, select one or multiple instances, and make connection(s) to selected instances. Caching the response of API calls for 1day using Tmpfs.

kenju 5 Oct 11, 2021
Jenkins CLI allows you manage your Jenkins as an easy way

Quick start 简体中文 Jenkins CLI Jenkins CLI allows you manage your Jenkins in an easy way. No matter if you're a plugin developer, administrator or just

Jenkins Chinese Community 341 Dec 2, 2022
KubeOrbit is an open-source abstraction layer library that turns easy apps testing&debuging on Kubernetes in a new way

KubeOrbit is an open-source abstraction layer library that turns easy apps testing&debuging on Kubernetes in a new way

TeamCode 450 Nov 22, 2022
Admission webhooks the easy way

admission-webhooks-the-easy-way Goals controller-runtime simple and simpler type

Erkan Zileli 6 Mar 13, 2022
DepCharge is a tool designed to help orchestrate the execution of commands across many directories at once.

DepCharge DepCharge is a tool that helps orchestrate the execution of commands across the many dependencies and directories in larger projects. It als

Andrew LeTourneau 23 Sep 27, 2022
webhook is a lightweight incoming webhook server to run shell commands

What is webhook? webhook is a lightweight configurable tool written in Go, that allows you to easily create HTTP endpoints (hooks) on your server, whi

Adnan Hajdarević 8.4k Dec 4, 2022