> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: Connecting to SFTP

> Connect any SFTP server to Integrate.io ETL for reading file data. Configure host, port, credentials, and SSH key authentication settings.

Integrate.io ETL can access data in files residing on any Secure File Transfer Protocol (SFTP) server. This article details creating an SFTP connection in Integrate.io ETL. In order to allow Integrate.io ETL direct access to your server, create firewall rules to allow Integrate.io ETL access from the relevant IPs in this [list](/etl/integrateio-etls-ip-list/). You can also follow the directions [here](/etl/allowing-integrateio-etl-access-to-my-server-behind-a-firewall/) to allow Integrate.io ETL access through an SSH tunnel or reverse SSH tunnel.

<Frame>
  <iframe className="w-full aspect-video rounded-xl" src="https://fast.wistia.com/embed/iframe/qvct1v07xb" title="Allowing Integrate.io ETL access to my data on Secure File Transfer Protocol (SFTP)" allow="autoplay; fullscreen" allowFullScreen />
</Frame>

### To define a connection in Integrate.io ETL to your SFTP server

<Steps>
  <Step>
    Click the Connections icon (lightning bolt) on the top left menu.
  </Step>

  <Step>
    Click **New connection**.

    <Frame>
      <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-249.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=e93d00111ac70c2acc851bda74979724" alt="New connection button in the Connections menu" width="1200" height="828" data-path="images/connectivity-and-security/image-249.webp" />
    </Frame>
  </Step>

  <Step>
    Select **Secure File Transfer Protocol (SFTP)**.

    <Frame>
      <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-250.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=ba07bcee9fae5e47bd27b39800234610" alt="Selecting SFTP from the connection type list" width="1200" height="828" data-path="images/connectivity-and-security/image-250.webp" />
    </Frame>
  </Step>

  <Step>
    In the new SFTP connection window, name the connection and enter the connection information.

    * **Access type** - For a direct connection, create firewall rules to allow Integrate.io ETL access from the relevant IPs in this [list](/etl/integrateio-etls-ip-list/). You can also follow the directions [here](/etl/allowing-integrateio-etl-access-to-my-server-behind-a-firewall/) to allow Integrate.io ETL access through an SSH tunnel or reverse SSH tunnel.
    * **Hostname** - the host name of the SFTP server.
    * **Authentication Method** - Select password or public key authentication. If key based authentication is selected, copy your account's public key from **Settings** -> **Account Settings** -> **Profile** and add it to the SFTP user's authorized keys.
    * **User Name** - the user name to use when connecting to SFTP server.
    * **Password** - the password to use when connecting to SFTP server using password authentication. **Password** cannot contain the character @.
    * **Port** - the TCP port of the SFTP server (Default is 22).
  </Step>

  <Step>
    Click **Test connection**. If the credentials are correct, a message that the connection test was successful appears.
  </Step>

  <Step>
    Click **Create SFTP connection.**

    <Frame>
      <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-251.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=c8a4e71e0db3faf37e54d753872ddaba" alt="SFTP connection form with hostname, authentication, and port fields" width="1200" height="828" data-path="images/connectivity-and-security/image-251.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-252.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=462cc5f8829e9506eef8102c31da2a82" alt="Create SFTP connection button to finalize setup" width="1200" height="828" data-path="images/connectivity-and-security/image-252.webp" />
    </Frame>
  </Step>

  <Step>
    The connection is created and appears in the connections list.

    <Frame>
      <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-253.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=71e5cf24b02518e9c6b82dfd5a0305cf" alt="SFTP connection created and listed in connections" width="1200" height="828" data-path="images/connectivity-and-security/image-253.webp" />
    </Frame>
  </Step>

  <Step>
    Now you can create a package and test it on your actual data stored in an SFTP server.
  </Step>
</Steps>
