Terminal based assisted management of your SSH config files.
Built out of boredom with managing messy and huge ssh_config files.
Backup your SSH config files before using!
SSHClick can be used with "show" and "list" commands for hosts, without modifying your SSH Config in any way!
Only commands that modify configuration will edit and rewrite/restructure your SSH Config file. In that case, any added comment or infos that are not in form that SSHClick understand will be discarded, and configuration will be re-formatted to match SSHClick style. See below details to understand how SSH Click would keep your config organized!
NEW! Now comes with additional TUI that can be accessed via ssht
command.
- I need something that works fast and great in terminal, and does not require complex setup.
- SSH config is the only config I need to backup.
- SSH config is very feature-full with all options SSH client support, why inventing extra layer?
- I need quick way to search, group and visualize all hosts inside SSH configuration (especially since it can grow huge)
SSHClick (sshc) is just a tool designed to work with existing SSH configuration files on your Linux/Windows/WSL terminal environment.
It parses your SSH config, and can provide easy commands to list, filter, modify or view specific Host entries.
Trough additional "metadata" comments it can add abstractions such as "groups" and various information that is both readable in the configuration file, and can be parsed and printed while using the tool.
-
Check preconditions:
- Currently only tested on Linux (Debian 10,11, Ubuntu 20.04,22.04), but should work on other systems as well
- Minimum python3.7 (tested up to 3.11 beta) & pip installed
- it is preferable to not use system python version, to install "custom" user python on linux, you can try using pyenv (https://github.com/pyenv/pyenv
- git installed (for installing from source)
-
Install package:
-
from PyPI using pip
pip install sshclick
-
(OR) from source using pip
git clone https://github.com/karlot/sshclick cd sshclick pip install .
-