Go Shell Lua Makefile
Failed to load latest commit information.
build update version 2.2.0 Sep 18, 2017
cmd/essh WIP: improve tests Nov 26, 2016
essh refactoring Sep 17, 2017
lib/sshrc update Jul 31, 2017
modules/open update Aug 6, 2017
support wip Dec 5, 2016
test WIP: improve tests Nov 27, 2016
website update docs Sep 19, 2017
.editorconfig WIP: improve tests Nov 26, 2016
.envrc update build scripts May 28, 2017
.gitattributes exclude website contents from language stats Oct 26, 2017
.gitignore update gitignore Sep 18, 2017
.travis.yml up Mar 12, 2017
LICENSE update build script Feb 1, 2016
Makefile update build scripts May 28, 2017
README.md update website link Sep 18, 2017
example01.gif add animation gif for example Jul 4, 2017
glide.lock add glide files Feb 20, 2017
glide.yaml add glide files Feb 20, 2017


Essh Build Status

Extended ssh command.


Essh is an extended ssh command. If you use essh command instead of ssh, Your SSH operation becomes more efficient and convenient. Essh is a single binary CLI tool and simply wraps ssh command. You can use it in the same way as ssh. And it has useful features over ssh.



  • Configuration As Code: You can write SSH client configuration (aka:~/.ssh/config) in Lua code. So your ssh_config can become more dynamic.

  • Hooks: Essh supports hooks that execute commands when it connects a remote server.

  • Servers List Management: Essh provides utilities for managing hosts, that list and classify servers by using tags.

  • Per-Project Configuration: Essh supports per-project configuration. This allows you to change SSH hosts config by changing current working directory.

  • Task Runner: Task is a script that runs on remote and local servers. You can use it to automate your system administration tasks.

  • Modules: Essh provides modular system that allows you to use, create and share reusable Lua code easily.


Essh is provided as a single binary. You can download it and drop it in your $PATH. After installing Essh, run the essh without any options in your terminal to check working.


$ brew install kohkimakimoto/essh/essh

Download the binary from releases page

Download latest version



  • Go 1.7 or later (my development env)
  • Glide
  • gox

Installing dependences

$ make deps

Building dev binary.

$ make dev

Building distributed binaries.

$ make dist

Building packages (now support only RPM)

$ make dist
$ make packaging


Kohki Makimoto kohki.makimoto@gmail.com


The MIT License (MIT)