No description
Find a file
2016-01-13 11:55:48 +01:00
CONTRIBUTING.md Create CONTRIBUTING.md 2016-01-11 10:30:04 +01:00
LICENSE Initial commit 2016-01-11 01:05:52 +01:00
logo.jpg Add logo 2016-01-11 10:44:04 +01:00
README.md list jsch, a pure java, BSD licensed, SSH2 client library 2016-01-12 23:17:52 +01:00

Awesome SSH Awesome

A curated list of SSH apps and libraries.

Inspired by the awesome list thing.

Please read the contribution guidelines if you want to contribute.

Check out my blog 🦄 or say hi on Twitter.

Table of Contents

Apps

.ssh/config

  • advanced-ssh-config: a transparent wrapper (ProxyCommand) that adds regex, aliases, gateways, includes, dynamic hostnames to SSH and ssh-config.
  • storm: Manage your SSH like a boss.
  • ansible-ssh-config: Letting Ansible manage ssh config.
  • ec2ssh: A ssh_config manager for AWS EC2.
  • ssh-config: A tool to help manage your .ssh/config file.

Tools using the SSH protocol

  • scp: secure remote file copy utility over SSH.
  • rsync: fast incremental transfer utility that supports SSH.
  • sftp: file transfer protocol over SSH.
  • curl: command line tool and library to transfer data (support sftp).

Servers

  • ssh2docker: SSH server to Docker containers.
  • whosthere: A ssh server that knows who you are. $ ssh whoami.filippo.io.
  • sshfront: Programmable SSH frontend
  • ssh-chat - Chat over SSH.
  • sshcommand - Turn SSH into a thin client specifically for your app
  • sshmuxd - sshmux frontend
  • x84 - A python telnet/ssh server for modern UTF-8 and classic cp437 network virtual terminals. In spirit of classic software such as ami/x, teleguard, renegade, iniquity. http://x84.readthedocs.org/

Network

  • Mosh - The mobile shell.
  • sshfs: Filesystem client based on the SSH File Transfer Protocol.
  • ngrok: Introspected tunnels to localhost.
  • localtunnel: Expose localhost servers to the Internet.
  • sshuttle - Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling.
  • sshttp - SSH/HTTP(S) multiplexer. Run a webserver and a sshd on the same port w/o changes.
  • switcher - Run SSH and HTTP(S) on the same port
  • sslh - Applicative Protocol Multiplexer (i.e: SSH + HTTPS)
  • tund - SSH reverse tunnel daemon
  • autossh - Automatically respawn ssh session after network interruption.
  • wssh - SSH to WebSockets Bridge

Multiplexers

  • tmux: Terminal multiplexer.
  • clusterssh - Cluster Admin Via SSH
  • tmux-cssh: TMUX with a "ClusterSSH"-like behaviour.
  • tm: tmux manager / helper
  • i2cssh - csshX like ssh tool for iTerm2
  • ClusterSSH - Controls a number of xterm windows via a single graphical console.

SSH keys / Authentication

  • authy-ssh - Easy two-factor authentication for ssh servers
  • github-auth - SSH key management for GitHub users.
  • cipherhub - Encrypt messages based on SSH public keys with easy import from GitHub

SSH agent

Tools

  • sshrc - bring your .bashrc, .vimrc, etc. with you when you ssh

Automation

  • ansible - App deployment, configuration management and orchestration over SSH.
  • rtop - Interactive, remote system monitoring tool based on SSH.
  • DSH - Dancer's shell / distributed shell - Wrapper for executing multiple remote shell commands from one command line.
  • parallel-ssh - Provides parallel versions of OpenSSH and related tools.
  • SSH Power Tool - Execute commands and upload files to many servers simultaneously without using pre-shared keys.

Web

Testing / Honeypots

Alternatives to SSH

  • GoTTY: Share your terminal as web application
  • telnet: A network protocol and an application used to connect to remote computers and issue commands.

Libraries

  • C/C++
    • libssh: The SSH library.
    • substack/libssh: multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side.
  • Golang
    • crypto/ssh - built-in SSH client and server library.
    • sftp - SFTP support for the go.crypto/ssh package.
    • go-sshkit - Toolkit for building SSH servers and clients in Go.
  • Java
    • jsch - pure java, BSD licensed, SSH2 client library.
  • Javascript/Node.js
    • ssh2 - SSH2 client and server modules written in pure JavaScript for node.js
  • Python
    • paramiko: Native Python SSHv2 protocol library.
  • Ruby
    • net-ssh - Pure Ruby implementation of an SSH (protocol 2) client

Tutorials

Documentation

Community

License

CC0

To the extent possible under law, Manfred Touron has waived all copyright and related or neighboring rights to this work.