Manfred Touron ea8d5f82d0 Initial version
2016-01-11 01:06:13 +01:00
2016-01-11 01:05:52 +01:00
2016-01-11 01:06:13 +01:00

Awesome SSH

A curated list of SSH resources.

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.

Multiplexers

  • tmux: Terminal multiplexer.
  • clusterssh - Cluster Admin Via SSH
  • tmux-cssh: TMUX with a "ClusterSSH"-like behaviour.
  • 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

Gateways

  • wssh - SSH to WebSockets Bridge

Tools

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

Automation

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.
  • Python
    • paramiko: Native Python SSHv2 protocol library.
  • Javascript/Node.js
    • ssh2 - SSH2 client and server modules written in pure JavaScript for node.js
  • Ruby
    • net-ssh - Pure Ruby implementation of an SSH (protocol 2) client