SSHMon is a program designed to manage and monitor ssh connections. It has been tested on Linux and OSX with SSH ≥ 6.7.
SSHMon builds on top of the SSH "Control Master" feature, that facilitates port forwarding setup.
- SSHMon Features (e.g. SSH host definition and connection) are exposed through the GUI. As a consequence, extreme care should be taken to make sure it is only reachable by you. Use at your own risk.
- SSHMon is still at an early stage of development, as a result some things might not work and we might introduce some breaking changes... Any feedback will be greatly appreciated!
- Nice GUI
- SSH port/socket forwarding management
- Configuration with YAML file
- Automatic start and retry of connection and port forwarding
- HTTP forwarding
Download the latest release of SSHMon for your system and unpack it. Run the sshmon
binary:
./sshmon
Then you can access the web GUI at http://localhost:8377.
Go and have a look at the Tutorial to set up your first host!
yarn
yarn build
yarn start
You can set up SSH connections through the GUI or with a configuration file.
By default, SSHMon will create a config file located at ~/.sshmon/config.yml
.
You also may specify your own configuration file on the command line.
Head over to the Configuration page for more details.
Logging is handled by the bunyan library. A bunyan
process is launched along with SSHMon and writes logs to stderr.
By default, if stderr is a TTY, the logs are pretty-printed, else they are written in a JSON format.
You may use the BUNYAN_OPTS
environment variable to choose which args are passed to the bunyan
process, e.g.:
BUNYAN_OPTS='-l debug' ./sshmon
Docker and docker-compose are required.
You may run the test suite with:
yarn test
- So far, only public/private key authentication is supported.
- Before trying to connect to a host through SSHMon, make sure you can connect to it with SSH on the command line.
SSHMon was developped thanks to the following projects (this list is not exhaustive!):
- Allow to change GUI address
- Offer multiple GUI themes
- Allow custom global SSH config options
- Use BatchMode for
ProxyJump
SSH hosts