SSH Tunneling

Connect your database via SSH tunnel

You can connect Postgres, MySQL, MSSQL, MongoDB, and other databases that are hosted under a private network via SSH tunnels.

  1. Navigate Data sources - Connect Data Source. Select your database and check the Enable SSH tunnel option.

  2. Additional details form will appear. Specify your bastion host and port number - usually this is an IP and an SSH port (22) of the server that holds the database

  3. Copy SSH public key. UI Bakery will try to connect to your bastion host with the specific private key and the username uibakery

To establish the tunnel, It’s necessary to configure your bastion host to allow UI Bakery to connect:

  1. Create UI Bakery user (UI Bakery will connect to your bastion as this user):

# Use this command if you use Amazon Linux
sudo adduser uibakery --password NP

# Use this command if you use any other Linux/Mac
sudo adduser uibakery --disabled-password

2. To allow UI Bakery to connect to your bastion create a required folder structure and store the public key in the authorized_keys file:

# Login as root user
sudo su

# Create the authorized_keys file if it does not exist
mkdir -p /home/uibakery/.ssh 
touch /home/uibakery/.ssh/authorized_keys 

# Set required permissions and make uibakery user an owner of this file
chmod 644 /home/uibakery/.ssh/authorized_keys
chown uibakery:uibakery /home/uibakery/.ssh/authorized_keys

# Use any text editor and insert previously copied ssh public key in authorized_keys file
vim /home/uibakery/.ssh/authorized_keys

Once configured, you can complete the data source connection and connect your database.

The same steps apply for on-premise deployments

Last updated