/sshed

sshed - ssh config editor and bookmarks manager

Primary LanguageGoApache License 2.0Apache-2.0

SSHed - ssh connections manager and config editor

Visual cross-platform editor created to manage list of SSH hosts in ssh config file and execute commands on those hosts. sshed uses native ssh_config format to store connections information and supports all available ssh options.

asciicast

Installation

install with brew

brew install trntv/sshed/sshed

install with scoop

scoop bucket add taskctl https://github.com/trntv/scoop-sshed.git
scoop install sshed

download binary here or run in console

curl -sf https://gobinaries.com/trntv/sshed | sh

or install with go get

go get -u github.com/trntv/sshed

Features

  • add, show, list, remove ssh hosts in ssh_config file
  • show, edit ssh config via preferred text editor
  • connect to host by key
  • execute commands via ssh (on single or multiple hosts)
  • encrypted keychain to store ssh passwords and private keys

Usage

NAME:
   sshed - SSH config editor and hosts manager

USAGE:
   help [global options] command [command options] [arguments...]

VERSION:
   X.X.X

AUTHOR:
   Eugene Terentev <eugene@terentev.net>

COMMANDS:
     show     Shows host
     list     Lists all hosts
     add      Add or edit host
     remove   Removes host
     to       Connects to host
     at       Executes commands
     encrypt  Encrypts keychain
     config   Shows SSH config
     help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --keychain value  path to keychain database (default: "/Users/e.terentev/.sshed") [$SSHED_KEYCHAIN]
   --config value    path to SSH config file (default: "/Users/e.terentev/.ssh/config") [$SSHED_CONFIG_FILE]
   --bin value       path to SSH binary (default: "ssh") [$SSHED_BIN]
   --help, -h        show help
   --version, -v     print the version

Bash (ZSH) autocomplete

to enable autocomplete run

PROG=sshed source completions/autocomplete.sh

if installed with brew, just add those lines to .bash_profile (.zshrc) file

PROG=sshed source $(brew --prefix sshed)/autocomplete.sh

Tips

  1. to store passwords you need to install sshpass that allows to offer a password via SSH

    to install it with brew use

    brew install http://git.io/sshpass.rb
    

    for other options see: https://github.com/kevinburke/sshpass

  2. To see all available ssh options run man ssh_config

TODO

  • sshed at - executes command on server
  • batch commands
  • ssh_config integration
  • ssh options (-c, -E, -f, -T, -t)
  • key, password generation
  • bind address
  • replace sshpass with native go implementation
  • scp
  • ssh bin flag
  • autocompletion
  • backup
  • restore
  • jump hosts