Skip to main content
SSH (secure shell) tunneling is the process of forwarding selected ports through an authenticated and encrypted tunnel. In many cases, SSH tunneling is used to connect to a remote database that is secured behind a restrictive firewall or other network restrictions. This article walks you through the process of creating an SSH tunnel on Windows using PuTTY.
1
Generate a keypair using PuTTY Key Generator and add the public key in your user settings. The public key will be propagated to our servers in up to 5 minutes. Save the private key as well.
PuTTY Key Generator with a generated public key
2
Create a Tunnel Connection in Integrate.io ETL:
  • On the dashboard Connections, click New Connection and choose a connection to use.
  • Choose Reverse SSH tunnel connection as Access type and supply your connection’s hostname, username and port.
  • Click Create connection.
    New connection form with Reverse SSH tunnel access type selected
  • It will fail because we haven’t created the tunnel yet, but the light blue box will appear and you will be able to retrieve Integrate.io ETL’s tunnel server (Integrate.io ETL server endpoint that includes everything before the colon) and connection port (the number after the colon).
    Connection details showing tunnel server endpoint and assigned port
3
Start a new PuTTY session and set the Hostname to the Integrate.io ETL server (e.g: virginia-tunnel.xplenty.com) and Port to 50683. The port is a static value, and not the port assigned to your connection. We will be using that later on.
PuTTY session with hostname set to the tunnel server and port 50683
4
Connection -> Data, enter the tunnel username: sshtunnel
PuTTY Connection Data tab with sshtunnel as the auto-login username
5
Connection -> SSH, check “Don’t start a shell or command at all
PuTTY SSH settings with Don't start a shell checked
6
Connection -> SSH -> Auth -> Credentials, browse for the private key (.ppk) that matches the public key you added in Integrate.io ETL.
PuTTY Auth Credentials tab with private key file selected
7
Connection -> SSH -> TTY, check “Don’t allocate a pseudo terminal”.
PuTTY TTY settings with Don't allocate a pseudo terminal checked
8
Connection -> SSH -> Tunnels: Specify the source port (the connection port assigned earlier on the connections page). Specify the destination database’s host and port in the destination as “hostname:port”, select the “Remote” option and click “Add”. Make sure it is added on the list above.
PuTTY Tunnels settings with source port, destination, and Remote option
9
Save the connection - Go back to Session section in sidebar, name the connection and click the Save button.
PuTTY Session tab with saved connection name and Save button
10
Connect - double click the Integrate.io ETL session to initiate the connection.
11
Return to the Integrate.io ETL dashboard. After entering the database name, username, and password, click Test Connection.
12
Once the connection is successful, click Create Connection.
Last modified on April 20, 2026