mirror of
https://github.com/moul/awesome-ssh
synced 2024-11-24 21:33:05 +00:00
No description
CONTRIBUTING.md | ||
LICENSE | ||
logo.jpg | ||
README.md |
Awesome SSH
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
assh
a.k.aadvanced-ssh-config
- Transparent wrapper (ProxyCommand) that adds regex, aliases, gateways, includes, dynamic hostnames to SSH andssh-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. - teleport - Modern SSH server for clusters and teams.
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.
- docker-volume-sshfs -
sshfs
docker volume plugin.
Multiplexers
- tmux - Terminal multiplexer.
- clusterssh - Cluster admin via SSH.
- tmux-cssh -
tmux
with a ClusterSSH-like behavior. - 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.
- Slack notifications - Guide to setup Slack notifications (can be modified for other services).
- totp-ssh-fluxer - A way to make sure your
sshd
port changes every 30 seconds.
SSH agent
- ssh-ident - Different agents and different keys for different projects, with
ssh
. - oh-my-zsh/plugins/ssh-agent -
ssh-agent
plugin forzsh
.
Tools
- sshrc - Bring your
.bashrc
,.vimrc
, etc. with you when youssh
.
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
- Secure Shell chrome extension
- GateOne - HTML5-powered terminal emulator and SSH client.
- KeyBox - 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.
Testing / Honeypots
- ssh-hammer - SSH load testing tool.
- kippo - SSH Honeypot.
- cowrie - SSH Honeypot (based on kippo).
- sshmitm - SSH monkey-in-the-middle.
- ssh-audit - A tool for SSH server auditing.
- sshesame - A fake SSH server that lets everyone in and logs their activity.
Alternatives to SSH
- GoTTY - Share your terminal as web application.
- telnet - An unencrypted network protocol and an application used to connect to remote computers and issue commands.
- rsh - An unencrypted network protocol and 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.
- Socker - Library for Go to simplify the use of SSH.
- 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.
Resources
Tutorials
- How to use SSH to Connect to a Remote Server
- Best practices
- Granting Temporary Access to Your Servers (Using Signed SSH Keys)
- How to SSH login without a password
Security
- 01/14/2016 - Integer Overflow
CVE 2016 077[7-8]
. - Security/Guidelines/OpenSSH - MozillaWiki -
sshd\_config
for6.7+
,5.3
. - Applied-Crypto-Hardening -
sshd\_config
for6.X
Documentation
Community
License
To the extent possible under law, Manfred Touron has waived all copyright and related or neighboring rights to this work.