All Projects → six-ddc → Hss

six-ddc / Hss

Licence: mit
An interactive parallel ssh client featuring autocomplete and asynchronous execution.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Hss

Parallel Ssh
Asynchronous parallel SSH client library.
Stars: ✭ 864 (+248.39%)
Mutual labels:  parallel, ssh, ssh-client
Wolfssh
wolfSSH is a small, fast, portable SSH implementation, including support for SCP and SFTP.
Stars: ✭ 142 (-42.74%)
Mutual labels:  ssh, ssh-client
Connectbot
ConnectBot is the first SSH client for Android.
Stars: ✭ 1,763 (+610.89%)
Mutual labels:  ssh, ssh-client
Sshj
ssh, scp and sftp for java
Stars: ✭ 2,016 (+712.9%)
Mutual labels:  ssh, ssh-client
Ssh
Native SSH client in R based on libssh
Stars: ✭ 111 (-55.24%)
Mutual labels:  ssh, ssh-client
Superputty
The SuperPuTTY Window Manager for putty sessions
Stars: ✭ 1,572 (+533.87%)
Mutual labels:  ssh, ssh-client
Sshfs Gui
SSHFS GUI Wrapper for Mac OS X
Stars: ✭ 154 (-37.9%)
Mutual labels:  ssh, ssh-client
Iap Desktop
IAP Desktop is a Windows application that provides zero-trust Remote Desktop and SSH access to Linux and Windows VMs on Google Cloud.
Stars: ✭ 96 (-61.29%)
Mutual labels:  ssh, ssh-client
Github Keygen
Easy creation of secure SSH configuration for your GitHub account(s)
Stars: ✭ 183 (-26.21%)
Mutual labels:  ssh, ssh-client
Bastillion
Bastillion is a web-based SSH console that centrally manages administrative access to systems. Web-based administration is combined with management and distribution of user's public SSH keys.
Stars: ✭ 2,730 (+1000.81%)
Mutual labels:  ssh, ssh-client
Twterm
A full-featured TUI Twitter client
Stars: ✭ 186 (-25%)
Mutual labels:  command-line, readline
Lssh
List selection type alternative ssh/scp/sftp client. Pure Go.
Stars: ✭ 110 (-55.65%)
Mutual labels:  ssh, ssh-client
Dargs
Enhance any command with dynamic arguments
Stars: ✭ 107 (-56.85%)
Mutual labels:  command-line, autocompletion
Jcabi Ssh
Java SSH client
Stars: ✭ 240 (-3.23%)
Mutual labels:  ssh, ssh-client
Sidedoor
SSH connection daemon for Debian/Raspbian/Ubuntu/etc
Stars: ✭ 97 (-60.89%)
Mutual labels:  ssh, ssh-client
Athenacli
AthenaCLI is a CLI tool for AWS Athena service that can do auto-completion and syntax highlighting.
Stars: ✭ 151 (-39.11%)
Mutual labels:  command-line, autocompletion
Mac
macOS Mojave v. 10.14 setup for developers.
Stars: ✭ 209 (-15.73%)
Mutual labels:  command-line, ssh
Webssh2
Web SSH Client using ssh2, socket.io, xterm.js, and express. webssh webssh2
Stars: ✭ 1,293 (+421.37%)
Mutual labels:  ssh, ssh-client
Daggy
Daggy - Data Aggregation Utility. Open source, free, cross-platform, server-less, useful utility for remote or local data aggregation and streaming
Stars: ✭ 91 (-63.31%)
Mutual labels:  ssh, ssh-client
Ssh2 Python
Bindings for libssh2 C library.
Stars: ✭ 166 (-33.06%)
Mutual labels:  ssh, ssh-client

hss

Release Build Status License: MIT

简体中文README

What's hss?

hss is an interactive ssh client for multiple servers. It will provide almost the same experience as in the bash environment. It supports:

  • interactive input: based on libreadline.
  • history: responding to the C-r key.
  • auto-completion: completion from remote server on the tab key, for commands and paths.

Command is executed on all servers in parallel. Execution on one server does not need to wait for that on another server to finish before starting. So we can run a command on hundreds of servers at the same time.

A quick start

Usage: hss [-f hostfile] [-o file] [-u username] [command]...

Options:
  -f file        file with the list of hosts
  -H host        specifies a host option, support the same options as the ssh command
  -l limit       number of multiple ssh to perform at a time (default: unlimited)
  -u user        the default user name to use when connecting to the remote server
  -c opts        specify the common ssh options (i.e. '-p 22 -i identity_file')
  -o file        write remote command output to a file
  -i             force use a vi-style line editing interface
  -v             be more verbose
  -V             show program version
  -h             display this message

For more information, see https://github.com/six-ddc/hss
  • This is a screenshot

asciicast

How to install it?

  • MacOS

    brew install hss
    
    sudo port selfupdate
    sudo port install hss
    
  • Linux

    • Install dependency
    ## on CentOS
    yum install readline-devel
    
    ## on Ubuntu / Debian 
    apt-get install libreadline6-dev
    
    • Compile and install
    make && make install
    
  • Or you can download the binary release here .

How to use it?

The fundamental of hss is to execute the ssh command for every host, and then show the results on the terminal. So hss supports every argument supported by the ssh command. Following is an example of the hostfile:

192.168.1.1
-p 2222 [email protected]
-p 2222 -i ~/.ssh/identity_file [email protected]
-p 2222 -oConnectTimeout=3 [email protected]

Connect to servers:

# Specify the hostfile directly
hss -f hostfile

# Or pass servers in arguments
hss -H '192.168.1.1' -H '-p 2222 [email protected]' -H '-p 2222 -i ~/.ssh/identity_file [email protected]' -H '-p 2222 -oConnectTimeout=3 [email protected]'

Passthrough of ssh arguments are supported. For example, by specify -c '-oConnectTimeout=3', sessions without a timeout configured will set its timeout on this argument.

Usage of readline

The interactive input is implemented on libreadline, supporting command and path completion from remote, history storage and searching, moving around, etc. (please refer to readline for more)

  • Command history is stored in file ~/.hss_history.
  • Completion of commands and paths are based on the first server in the list.
  • Path completion is available when the first input character is /, ~ or ..

Goals of the future versions

  • [x] Solve the "@" suffix problem on directory symbol-link.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].