1.2 KiB

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

  1. Git clone this repo
  2. Add a symlink to bash completion script such as:
    sudo ln -s <repo>/hs ~/.local/share/bash-completion/hs
    
  3. Add symlink to script itself and make it executable:
    sudo ln -s <repo>/hs.sh /usr/local/bin/hs
    chmod +x <repo>/hs.sh
    

What it looks like

Here with fzf as auto-completion helper (optional, is a personal preference):

Screencast showing hs in action

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.

We kill the connection in question - an SSH tunnel from a prior test - and try again. This time hs correctly creates our tunnel. With set -xv we see the actual command that gets executed.

Once done we clean up after ourselves and kill SSH tunnels we no longer need.