mirror of
https://github.com/moul/awesome-ssh.git
synced 2026-01-24 11:58:01 -08:00
Styling 💄
This commit is contained in:
149
README.md
149
README.md
@@ -1,6 +1,6 @@
|
|||||||
# Awesome SSH [](https://github.com/sindresorhus/awesome)
|
# Awesome SSH [](https://github.com/sindresorhus/awesome)
|
||||||
|
|
||||||
> A curated list of SSH [apps](#apps), [libraries](#libraries) and [resources](#resources).
|
> A curated list of *SSH* [apps](#apps), [libraries](#libraries) and [resources](#resources).
|
||||||
|
|
||||||
<h2 align="center"><img src="https://raw.githubusercontent.com/moul/awesome-ssh/master/logo.jpg" width="400" /></h2>
|
<h2 align="center"><img src="https://raw.githubusercontent.com/moul/awesome-ssh/master/logo.jpg" width="400" /></h2>
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@ Please read the [contribution guidelines](CONTRIBUTING.md) if you want to contri
|
|||||||
|
|
||||||
- [Apps](#apps)
|
- [Apps](#apps)
|
||||||
- [`.ssh/config`](#sshconfig)
|
- [`.ssh/config`](#sshconfig)
|
||||||
- [Tools using the SSH protocol](#tools-using-the-ssh-protocol)
|
- [Tools using the *SSH* protocol](#tools-using-the-ssh-protocol)
|
||||||
- [Servers](#servers)
|
- [Servers](#servers)
|
||||||
- [Network](#network)
|
- [Network](#network)
|
||||||
- [Multiplexers](#multiplexers)
|
- [Multiplexers](#multiplexers)
|
||||||
@@ -36,76 +36,75 @@ Please read the [contribution guidelines](CONTRIBUTING.md) if you want to contri
|
|||||||
|
|
||||||
### `.ssh/config`
|
### `.ssh/config`
|
||||||
|
|
||||||
* [advanced-ssh-config](https://github.com/moul/advanced-ssh-config): a transparent wrapper (ProxyCommand) that adds regex, aliases, gateways, includes, dynamic hostnames to SSH and ssh-config.
|
* [`assh` a.k.a `advanced-ssh-config`](https://github.com/moul/advanced-ssh-config) - Transparent wrapper (ProxyCommand) that adds regex, aliases, gateways, includes, dynamic hostnames to *SSH* and `ssh-config`.
|
||||||
* [storm](https://github.com/emre/storm): Manage your SSH like a boss.
|
* [storm](https://github.com/emre/storm) - Manage your *SSH* like a boss.
|
||||||
* [ansible-ssh-config](https://github.com/gaqzi/ansible-ssh-config): Letting Ansible manage ssh config.
|
* [ansible-ssh-config](https://github.com/gaqzi/ansible-ssh-config) - Letting *Ansible* manage `ssh_config`.
|
||||||
* [ec2ssh](https://github.com/mirakui/ec2ssh): A ssh_config manager for AWS EC2.
|
* [ec2ssh](https://github.com/mirakui/ec2ssh) - A `ssh_config` manager for *AWS EC2*.
|
||||||
* [ssh-config](https://github.com/dbrady/ssh-config): A tool to help manage your .ssh/config file.
|
* [ssh-config](https://github.com/dbrady/ssh-config) - A tool to help manage your `.ssh/config` file.
|
||||||
|
|
||||||
### Tools using the SSH protocol
|
### Tools using the *SSH* protocol
|
||||||
|
|
||||||
* [scp](http://linux.die.net/man/1/scp): secure remote file copy utility over SSH.
|
* [scp](http://linux.die.net/man/1/scp) - Secure remote file copy utility over *SSH*.
|
||||||
* [rsync](https://rsync.samba.org): fast incremental transfer utility that supports SSH.
|
* [rsync](https://rsync.samba.org) - Fast incremental transfer utility that supports *SSH*.
|
||||||
* [sftp](https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol): file transfer protocol over SSH.
|
* [sftp](https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol) - File transfer protocol over *SSH*.
|
||||||
* [curl](http://curl.haxx.se): command line tool and library to transfer data (support sftp).
|
* [curl](http://curl.haxx.se) - Command line tool and library to transfer data (support `sftp`).
|
||||||
|
|
||||||
### Servers
|
### Servers
|
||||||
|
|
||||||
* [ssh2docker](https://github.com/moul/ssh2docker): SSH server to Docker containers.
|
* [ssh2docker](https://github.com/moul/ssh2docker) - *SSH* server to Docker containers.
|
||||||
* [whosthere](https://github.com/FiloSottile/whosthere): A ssh server that knows who you are. `$ ssh whoami.filippo.io`.
|
* [whosthere](https://github.com/FiloSottile/whosthere) - A *SSH* server that knows who you are. `$ ssh whoami.filippo.io`.
|
||||||
* [sshfront](https://github.com/gliderlabs/sshfront): Programmable SSH frontend
|
* [sshfront](https://github.com/gliderlabs/sshfront) - Programmable *SSH* frontend.
|
||||||
* [ssh-chat](https://github.com/shazow/ssh-chat) - Chat over SSH.
|
* [ssh-chat](https://github.com/shazow/ssh-chat) - Chat over *SSH*.
|
||||||
* [ssh-audit](https://github.com/arthepsy/ssh-audit) is a tool for ssh server auditing.
|
* [sshcommand](https://github.com/dokku/sshcommand) - Turn *SSH* into a thin client specifically for your app.
|
||||||
* [sshcommand](https://github.com/dokku/sshcommand) - Turn SSH into a thin client specifically for your app
|
* [sshmuxd](https://github.com/joushou/sshmuxd) - `sshmux` frontend.
|
||||||
* [sshmuxd](https://github.com/joushou/sshmuxd) - sshmux frontend
|
* [x84](https://github.com/jquast/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*.
|
||||||
* [x84](https://github.com/jquast/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/
|
* [teleport](https://github.com/gravitational/teleport) - Modern *SSH* server for clusters and teams.
|
||||||
* [teleport](https://github.com/gravitational/teleport) - Modern SSH server for clusters and teams.
|
|
||||||
|
|
||||||
### Network
|
### Network
|
||||||
|
|
||||||
* [Mosh](https://mosh.mit.edu) - The mobile shell.
|
* [Mosh](https://mosh.mit.edu) - The mobile shell.
|
||||||
* [sshfs](https://github.com/libfuse/sshfs): Filesystem client based on the SSH File Transfer Protocol.
|
* [sshfs](https://github.com/libfuse/sshfs) - Filesystem client based on the *SSH* File Transfer Protocol.
|
||||||
* [ngrok](https://github.com/inconshreveable/ngrok): Introspected tunnels to localhost.
|
* [ngrok](https://github.com/inconshreveable/ngrok) - Introspected tunnels to localhost.
|
||||||
* [localtunnel](https://github.com/progrium/localtunnel): Expose localhost servers to the Internet.
|
* [localtunnel](https://github.com/progrium/localtunnel) - Expose localhost servers to the Internet.
|
||||||
* [sshuttle](https://github.com/apenwarr/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.
|
* [sshuttle](https://github.com/apenwarr/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](https://github.com/stealth/sshttp) - SSH/HTTP(S) multiplexer. Run a webserver and a sshd on the same port w/o changes.
|
* [sshttp](https://github.com/stealth/sshttp) - *SSH*/*HTTP(S)* multiplexer. Run a webserver and a `sshd` on the same port w/o changes.
|
||||||
* [switcher](https://github.com/jamescun/switcher) - Run SSH and HTTP(S) on the same port
|
* [switcher](https://github.com/jamescun/switcher) - Run *SSH* and *HTTP(S)* on the same port.
|
||||||
* [sslh](https://github.com/yrutschle/sslh) - Applicative Protocol Multiplexer (i.e: SSH + HTTPS)
|
* [sslh](https://github.com/yrutschle/sslh) - Applicative Protocol Multiplexer (i.e: *SSH* + *HTTPS*).
|
||||||
* [tund](https://github.com/aphyr/tund) - SSH reverse tunnel daemon
|
* [tund](https://github.com/aphyr/tund) - *SSH* reverse tunnel daemon.
|
||||||
* [autossh](http://www.harding.motd.ca/autossh/) - Automatically respawn ssh session after network interruption.
|
* [autossh](http://www.harding.motd.ca/autossh/) - Automatically respawn *SSH* session after network interruption.
|
||||||
* [wssh](https://github.com/aluzzardi/wssh) - SSH to WebSockets Bridge
|
* [wssh](https://github.com/aluzzardi/wssh) - *SSH* to WebSockets Bridge.
|
||||||
* [docker-volume-sshfs](https://github.com/vieux/docker-volume-sshfs) - sshfs docker volume plugin.
|
* [docker-volume-sshfs](https://github.com/vieux/docker-volume-sshfs) - `sshfs` docker volume plugin.
|
||||||
|
|
||||||
### Multiplexers
|
### Multiplexers
|
||||||
|
|
||||||
* [tmux](https://tmux.github.io): Terminal multiplexer.
|
* [tmux](https://tmux.github.io) - Terminal multiplexer.
|
||||||
* [clusterssh](https://github.com/duncs/clusterssh) - Cluster Admin Via SSH
|
* [clusterssh](https://github.com/duncs/clusterssh) - Cluster admin via *SSH*.
|
||||||
* [tmux-cssh](https://github.com/dennishafemann/tmux-cssh): TMUX with a "ClusterSSH"-like behavior.
|
* [tmux-cssh](https://github.com/dennishafemann/tmux-cssh) - `tmux` with a *ClusterSSH*-like behavior.
|
||||||
* [tm](https://github.com/Ganneff/tm): tmux manager / helper
|
* [tm](https://github.com/Ganneff/tm) - `tmux` manager / helper.
|
||||||
* [i2cssh](https://github.com/wouterdebie/i2cssh) - csshX like ssh tool for iTerm2
|
* [i2cssh](https://github.com/wouterdebie/i2cssh) - `csshX` like *SSH* tool for *iTerm2*.
|
||||||
* [ClusterSSH](http://sourceforge.net/projects/clusterssh/) - Controls a number of xterm windows via a single graphical console.
|
* [ClusterSSH](http://sourceforge.net/projects/clusterssh/) - Controls a number of `xterm` windows via a single graphical console.
|
||||||
|
|
||||||
### SSH keys / Authentication
|
### *SSH* keys / Authentication
|
||||||
|
|
||||||
* [authy-ssh](https://github.com/authy/authy-ssh) - Easy two-factor authentication for ssh servers
|
* [authy-ssh](https://github.com/authy/authy-ssh) - Easy *two-factor* authentication for *SSH* servers.
|
||||||
* [github-auth](https://github.com/chrishunt/github-auth) - SSH key management for GitHub users.
|
* [github-auth](https://github.com/chrishunt/github-auth) - *SSH* key management for GitHub users.
|
||||||
* [cipherhub](https://github.com/substack/cipherhub) - Encrypt messages based on SSH public keys with easy import from GitHub
|
* [cipherhub](https://github.com/substack/cipherhub) - Encrypt messages based on *SSH* public keys with easy import from GitHub.
|
||||||
* [Slack notifications](http://www.ryanbrink.com/slack-ssh-session-notifications/) - Guide to setup Slack notifications (can be modified for other services).
|
* [Slack notifications](http://www.ryanbrink.com/slack-ssh-session-notifications/) - Guide to setup Slack notifications (can be modified for other services).
|
||||||
* [totp-ssh-fluxer](https://github.com/benjojo/totp-ssh-fluxer) - A way to make sure your sshd port changes every 30 seconds
|
* [totp-ssh-fluxer](https://github.com/benjojo/totp-ssh-fluxer) - A way to make sure your `sshd` port changes every 30 seconds.
|
||||||
|
|
||||||
### SSH agent
|
### *SSH* agent
|
||||||
|
|
||||||
* [ssh-ident](https://github.com/ccontavalli/ssh-ident) - Different agents and different keys for different projects, with ssh.
|
* [ssh-ident](https://github.com/ccontavalli/ssh-ident) - Different agents and different keys for different projects, with `ssh`.
|
||||||
* [oh-my-zsh/plugins/ssh-agent](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ssh-agent) - ssh-agent plugin for ZSH.
|
* [oh-my-zsh/plugins/ssh-agent](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ssh-agent) - `ssh-agent` plugin for `zsh`.
|
||||||
|
|
||||||
### Tools
|
### Tools
|
||||||
|
|
||||||
* [sshrc](https://github.com/Russell91/sshrc) - bring your .bashrc, .vimrc, etc. with you when you `ssh`
|
* [sshrc](https://github.com/Russell91/sshrc) - Bring your `.bashrc`, `.vimrc`, etc. with you when you `ssh`.
|
||||||
|
|
||||||
### Automation
|
### Automation
|
||||||
|
|
||||||
* [ansible](https://github.com/ansible/ansible) - App deployment, configuration management and orchestration over SSH.
|
* [Ansible](https://github.com/ansible/ansible) - App deployment, configuration management and orchestration over *SSH*.
|
||||||
* [rtop](https://github.com/rapidloop/rtop) - Interactive, remote system monitoring tool based on SSH.
|
* [rtop](https://github.com/rapidloop/rtop) - Interactive, remote system monitoring tool based on *SSH*.
|
||||||
* [DSH - Dancer's shell / distributed shell](https://www.netfort.gr.jp/~dancer/software/dsh.html.en) - Wrapper for executing multiple remote shell commands from one command line.
|
* [DSH - Dancer's shell / distributed shell](https://www.netfort.gr.jp/~dancer/software/dsh.html.en) - Wrapper for executing multiple remote shell commands from one command line.
|
||||||
* [parallel-ssh](https://code.google.com/p/parallel-ssh/) - Provides parallel versions of OpenSSH and related tools.
|
* [parallel-ssh](https://code.google.com/p/parallel-ssh/) - Provides parallel versions of OpenSSH and related tools.
|
||||||
* [SSH Power Tool](https://code.google.com/p/sshpt/) - Execute commands and upload files to many servers simultaneously without using pre-shared keys.
|
* [SSH Power Tool](https://code.google.com/p/sshpt/) - Execute commands and upload files to many servers simultaneously without using pre-shared keys.
|
||||||
@@ -113,54 +112,56 @@ Please read the [contribution guidelines](CONTRIBUTING.md) if you want to contri
|
|||||||
### Web
|
### Web
|
||||||
|
|
||||||
* [Secure Shell chrome extension](https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo?hl=en)
|
* [Secure Shell chrome extension](https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo?hl=en)
|
||||||
* [GateOne](https://github.com/liftoff/GateOne) - HTML5-powered terminal emulator and SSH client
|
* [GateOne](https://github.com/liftoff/GateOne) - HTML5-powered terminal emulator and *SSH* client.
|
||||||
* [KeyBox](https://github.com/skavanagh/KeyBox) - web-based SSH console that centrally manages administrative access to systems.
|
* [KeyBox](https://github.com/skavanagh/KeyBox) - Web-based *SSH* console that centrally manages administrative access to systems.
|
||||||
|
|
||||||
### Testing / Honeypots
|
### Testing / Honeypots
|
||||||
|
|
||||||
* [ssh-hammer](https://github.com/shazow/ssh-hammer) - SSH load testing tool.
|
* [ssh-hammer](https://github.com/shazow/ssh-hammer) - *SSH* load testing tool.
|
||||||
* [kippo](https://github.com/desaster/kippo) - SSH Honeypot
|
* [kippo](https://github.com/desaster/kippo) - *SSH* Honeypot.
|
||||||
* [cowrie](https://github.com/micheloosterhof/cowrie) - SSH Honeypot (based on kippo)
|
* [cowrie](https://github.com/micheloosterhof/cowrie) - *SSH* Honeypot (based on kippo).
|
||||||
* [sshmitm](http://linux.die.net/man/8/sshmitm) - SSH monkey-in-the-middle
|
* [sshmitm](http://linux.die.net/man/8/sshmitm) - *SSH* monkey-in-the-middle.
|
||||||
|
* [ssh-audit](https://github.com/arthepsy/ssh-audit) - A tool for *SSH* server auditing.
|
||||||
|
|
||||||
### Alternatives to SSH
|
|
||||||
|
|
||||||
* [GoTTY](https://github.com/yudai/gotty): Share your terminal as web application
|
### Alternatives to *SSH*
|
||||||
* [telnet](http://www.telnet.org/htm/faq.htm): An unencrypted network protocol and an application used to connect to remote computers and issue commands.
|
|
||||||
* [rsh](https://en.wikipedia.org/wiki/Remote_Shell): An unencrypted network protocol and application used to connect to remote computers and issue commands.
|
* [GoTTY](https://github.com/yudai/gotty) - Share your terminal as web application.
|
||||||
|
* [telnet](http://www.telnet.org/htm/faq.htm) - An unencrypted network protocol and an application used to connect to remote computers and issue commands.
|
||||||
|
* [rsh](https://en.wikipedia.org/wiki/Remote_Shell) - An unencrypted network protocol and application used to connect to remote computers and issue commands.
|
||||||
|
|
||||||
## Libraries
|
## Libraries
|
||||||
|
|
||||||
* C/C++
|
* C/C++
|
||||||
* [libssh](https://www.libssh.org): The SSH library.
|
* [libssh](https://www.libssh.org) - The *SSH* library.
|
||||||
* [substack/libssh](https://github.com/substack/libssh): multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side.
|
* [substack/libssh](https://github.com/substack/libssh) - Multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side.
|
||||||
* Golang
|
* Golang
|
||||||
* [crypto/ssh](https://godoc.org/golang.org/x/crypto/ssh) - built-in SSH client and server library.
|
* [crypto/ssh](https://godoc.org/golang.org/x/crypto/ssh) - Built-in *SSH* client and server library.
|
||||||
* [sftp](https://github.com/pkg/sftp) - SFTP support for the go.crypto/ssh package.
|
* [sftp](https://github.com/pkg/sftp) - *SFTP* support for the go.crypto/ssh package.
|
||||||
* [go-sshkit](https://github.com/shazow/go-sshkit) - Toolkit for building SSH servers and clients in Go.
|
* [go-sshkit](https://github.com/shazow/go-sshkit) - Toolkit for building *SSH* servers and clients in Go.
|
||||||
* [Socker](https://github.com/cosiner/socker) - a library for Go to simplify the use of SSH
|
* [Socker](https://github.com/cosiner/socker) - Library for Go to simplify the use of *SSH*.
|
||||||
* Java
|
* Java
|
||||||
* [jsch](http://www.jcraft.com/jsch/) - pure java, BSD licensed, SSH2 client library.
|
* [jsch](http://www.jcraft.com/jsch/) - Pure *java*, *BSD* licensed, *SSH2* client library.
|
||||||
* Javascript/Node.js
|
* Javascript/Node.js
|
||||||
* [ssh2](https://github.com/mscdex/ssh2) - SSH2 client and server modules written in pure JavaScript for node.js
|
* [ssh2](https://github.com/mscdex/ssh2) - *SSH2* client and server modules written in pure *JavaScript* for *node.js*.
|
||||||
* Python
|
* Python
|
||||||
* [paramiko](https://github.com/paramiko/paramiko): Native Python SSHv2 protocol library.
|
* [paramiko](https://github.com/paramiko/paramiko) - Native *Python* *SSHv2* protocol library.
|
||||||
* Ruby
|
* Ruby
|
||||||
* [net-ssh](https://github.com/net-ssh/net-ssh) - Pure Ruby implementation of an SSH (protocol 2) client
|
* [net-ssh](https://github.com/net-ssh/net-ssh) - Pure *Ruby* implementation of an *SSH* (protocol 2) client.
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
### Tutorials
|
### Tutorials
|
||||||
|
|
||||||
* [How to use SSH to Connect to a Remote Server](https://www.digitalocean.com/community/tutorials/how-to-use-ssh-to-connect-to-a-remote-server-in-ubuntu)
|
* [How to use *SSH* to Connect to a Remote Server](https://www.digitalocean.com/community/tutorials/how-to-use-ssh-to-connect-to-a-remote-server-in-ubuntu)
|
||||||
* [Best practices](https://blog.0xbadc0de.be/archives/300)
|
* [Best practices](https://blog.0xbadc0de.be/archives/300)
|
||||||
* [Granting Temporary Access to Your Servers (Using Signed SSH Keys)](http://linux-audit.com/granting-temporary-access-to-servers-using-signed-ssh-keys/)
|
* [Granting Temporary Access to Your Servers (Using Signed *SSH* Keys)](http://linux-audit.com/granting-temporary-access-to-servers-using-signed-ssh-keys/)
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
||||||
* [01/14/2016](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-0777) - Integer Overflow CVE 2016 077[7-8]
|
* [01/14/2016](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-0777) - Integer Overflow `CVE 2016 077[7-8]`.
|
||||||
* [Security/Guidelines/OpenSSH - MozillaWiki](https://wiki.mozilla.org/Security/Guidelines/OpenSSH) - sshd\_config for 6.7+, 5.3
|
* [Security/Guidelines/OpenSSH - MozillaWiki](https://wiki.mozilla.org/Security/Guidelines/OpenSSH) - `sshd\_config` for `6.7+`, `5.3`.
|
||||||
* [Applied-Crypto-Hardening](https://github.com/BetterCrypto/Applied-Crypto-Hardening/tree/master/src/configuration/SSH/OpenSSH) - sshd\_config for 6.X
|
* [Applied-Crypto-Hardening](https://github.com/BetterCrypto/Applied-Crypto-Hardening/tree/master/src/configuration/SSH/OpenSSH) - `sshd\_config` for `6.X`
|
||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user