SSH tunneling is used to access servers on private networks (those not publicly accessible to the internet). Internal allows you to SSH tunnel into the following data sources: MySQL, PostgreSQL, and MongoDB.
Before you can connect a data source through SSH tunneling, you'll need to set up your bastion host to allow Internal to connect.
First, create a user account for Internal. Below is a sample script for Ubuntu:
Next, copy Internal's public key:
To allow Internal to connect to your host, you will now need to edit the contents at the file /home/internalio/.ssh/authorized_keys to also include the contents of this public key in a newline.
Once the above steps have been taken, you'll be able to use the private ip address for your database within the connection form to Add A New Data Source. Note that you'll need to check the "SSH tunneling" checkbox and provide your bastion host and port within the connection details.