heidisql-ssh-tunnel
Helper script to spawn SSH tunnels based on HeidiSQL settings
What's this?
The script assumes you have HeidiSQL directory in ~/'.heidisql
where your portable_settings.txt
file is living.
It peeks into that file and offers auto-completion based on saved sessions. It creates local SSH tunnels for these sessions.
Setup
- Git clone this repo
- Add a symlink to bash completion script such as:
sudo ln -s <repo>/hs ~/.local/share/bash-completion/hs
- Add symlink to script itself and make it executable:
sudo ln -s <repo>/hs.sh /usr/local/bin/hs chmod +x <repo>/hs.sh
- Run:
hs <TAB>
This will list all HeidiSQL sessions that have NetType
set to 2
aka MariaDB or MySQL (SSH tunnel)
. Select one and hs
creates the necessary tunnel.
What it looks like
Here with fzf
as auto-completion helper (optional, is a personal preference):
Here
hs
first attempts to set up an SSH tunnel for a HeidiSQL saved session and fails because something's already listening on the local port. Wekill
the connection in question - an SSH tunnel from a prior test - and try again. This timehs
correctly creates our tunnel. Withset -xv
we see the actual command that gets executed.Once done we clean up after ourselves and kill SSH tunnels we no longer need.