Courses & TutorialsOperating SystemProgramming

Awesome SSH – Massive Collection of Resources

Table of Contents

Apps

.ssh/config

  • assh stars – Transparent wrapper (ProxyCommand) that adds regex, aliases, gateways, includes, dynamic hostnames to SSH and ssh-config. Previously: advanced-ssh-config
  • storm stars – Manage your SSH like a boss.
  • ansible-ssh-config stars – Letting Ansible manage ssh_config.
  • ec2ssh stars – A ssh_config manager for AWS EC2.
  • ssh-config stars – 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

  • sshportal stars – simple, fun, and transparent SSH (& Telnet) Bastion Server
  • ssh2docker starsSSH server to Docker containers.
  • ssh-proxy stars – Dockerized SSH bastion to proxy SSH connections to arbitrary containers.
  • whosthere stars – A SSH server that knows who you are. $ ssh whoami.filippo.io.
  • sshfront stars – Programmable SSH frontend.
  • ssh-chat stars – Chat over SSH.
  • sshcommand stars – Turn SSH into a thin client specifically for your app.
  • sshmuxd starssshmux frontend.
  • x84 stars – 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.
  • teleport stars – Modern SSH server for clusters and teams.
  • ShellHub stars – A SSH gateway for remotely accessing any Linux device behind firewall and NAT.

Network

  • Mosh – The mobile shell.
  • sshfs stars – Filesystem client based on the SSH File Transfer Protocol.
  • ngrok stars – Introspected tunnels to localhost.
  • localtunnel stars – Expose localhost servers to the Internet.
  • sshuttle stars – 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 starsSSH/HTTP(S) multiplexer. Run a webserver and a sshd on the same port w/o changes.
  • switcher stars – Run SSH and HTTP(S) on the same port.
  • sslh stars – Applicative Protocol Multiplexer (i.e: SSH + HTTPS).
  • tund starsSSH reverse tunnel daemon.
  • autossh – Automatically respawn SSH session after network interruption.
  • wssh starsSSH to WebSockets Bridge.
  • docker-volume-sshfs starssshfs docker volume plugin.
  • quicssh stars – QUIC proxy for SSH
  • sshpiper stars – The missing reverse proxy for ssh scp.
  • sshhub – Web Service: access your SSH servers behind firewalls (ssh-teamviewer).

Multiplexers

  • tmux – Terminal multiplexer.
  • clusterssh stars – Cluster admin via SSH.
  • tmux-cssh starstmux with a ClusterSSH-like behavior.
  • tm starstmux manager / helper.
  • i2cssh starscsshX like SSH tool for iTerm2.
  • ClusterSSH – Controls a number of xterm windows via a single graphical console.

SSH keys / Authentication

  • authy-ssh stars – Easy two-factor authentication for SSH servers.
  • github-auth starsSSH key management for GitHub users.
  • cipherhub stars – Encrypt messages based on SSH public keys with easy import from GitHub.
  • Slack notifications (archived version) – Guide to setup Slack notifications (can be modified for other services).
  • totp-ssh-fluxer stars – A way to make sure your sshd port changes every 30 seconds.
  • github-keygen stars – Easy creation of secure SSH configuration for your GitHub account(s).
  • kr stars – Kr agent that route access request to the paired mobile phone where Kryptonite is installed.
  • ServerAuth – Automatically sync SSH access across servers

SSH agent

  • ssh-ident stars – Different agents and different keys for different projects, with ssh.
  • oh-my-zsh/plugins/ssh-agent starsssh-agent plugin for zsh.
  • sshecret – Automatically create and manage multiple agents for multiple keys.

Tools

  • xxh stars – Bring your favorite shell wherever you go through the ssh.
  • sshrc stars – Bring your .bashrc, .vimrc, etc. with you when you ssh.
  • kyrat stars – SSH wrapper script that brings your dotfiles always with you on Linux and OSX.
  • ssh-vault stars – encrypt/decrypt files using ssh keys
  • ssh-ping stars – check if host is reachable using ssh_config
  • SSHPry v2 stars – Spy & Control os SSH Connected client’s TTY
  • redial stars – Terminal Based SSH Session Manager for Unix Systems

Automation

  • Ansible stars – App deployment, configuration management and orchestration over SSH.
  • rtop stars – 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 stars – 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

  • Secure Shell chrome extension
  • GateOne stars – HTML5-powered terminal emulator and SSH client.
  • KeyBox stars – Web-based SSH console that centrally manages administrative access to systems.
  • Apache Guacamole – Apache Guacamole is a HTML5 based clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
  • SSHmon stars – Real-time GUI to monitor SSH connections and establish port forwardings.

Testing / Honeypots

  • ssh-hammer starsSSH load testing tool.
  • kippo starsSSH Honeypot.
  • cowrie starsSSH Honeypot (based on kippo).
  • sshmitmSSH monkey-in-the-middle.
  • ssh-audit stars – A tool for SSH server auditing.
  • sshesame stars – A fake SSH server that lets everyone in and logs their activity.

Alternatives to SSH

  • GoTTY stars – Share your terminal as web application.
  • telnet – An unencrypted network protocol and an application used to connect to remote computers and issue commands.
  • ttyd stars – Share your terminal over the web.
  • rsh – An unencrypted network protocol and application used to connect to remote computers and issue commands.

Libraries

  • C/C++
  • Golang
    • crypto/ssh – Built-in SSH client and server library.
    • sftp starsSFTP support for the go.crypto/ssh package.
    • go-sshkit stars – Toolkit for building SSH servers and clients in Go.
    • Socker stars – Library for Go to simplify the use of SSH.
    • go-sshkeys – Golang SSH Keys manipulation library
  • Java
    • jsch – Pure java, BSD licensed, SSH2 client library.
  • Javascript/Node.js
    • ssh2 starsSSH2 client and server modules written in pure JavaScript for node.js.
  • Python
    • paramiko stars – Native Python SSHv2 protocol library.
  • Ruby
    • net-ssh stars – Pure Ruby implementation of an SSH (protocol 2) client.

Resources

Tutorials

Security

Documentation

Community

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button