assh, formerly known as “Advanced SSH config”, is a smart tool that was designed to wrap tightly around your SSH and enhance it, like a superhero suit that has various gadgets installed. It adds regex, aliases, gateways, dynamic hostnames, graphviz, notifications, json output and yaml configuration.
Some of its configuration features are:
- regex support
- aliases -> gate.domain.tld
- includes: split configuration in multiple files
- gateways -> transparent ssh connection chaining
- inheritance: make hosts inherits from host hosts or templates
- variable expansion: resolve variables from the environment
- desktop notifications: based on events
- Graphviz representation of the hosts
assh
manages your ~/.ssh/config
file, taking care of keeping its backup.
lib-ssh wraps assh as a ProxyCommand, which means that it works seamlessly with ssh, scp, rsync, git, and Desktop applications depending on lib-ssh or ssh (i.e., Tower, Atom.io, SSH Tunnel Manager).
A few usage examples:
assh config build
: Rewrites and replaces the existing ~/.ssh/config file.assh config graphviz
: Generate a graphviz graph of the hostsassh sockets list
: List active control sockets.assh sockets master
: Create a master control sockets.assh ping
: Send packets to the SSH server and display stats.
Those are some of the highlights of assh. Visit its GitHub page to find out more about its configuration, usage and integration.