SFTP push and SFTP pull explained

Posted on Apr 4, 2022 • Updated on Dec 1, 2025

SFTP is the de facto method of backend file transfer, especially in compliance-driven industries such as finance, logistics, and healthcare. The nature of this is due to the robust and secure nature of the file transfer protocol and widely supported standards, with millions of devices that support sending and/or receiving files via SFTP. 

When using SFTP, there are two ways to transfer files: an SFTP push and an SFTP pull. We'll explain what each method is and the differences between them in this article. 

What is an SFTP pull? 

As the name suggests, an SFTP pull refers to connecting to a location via SFTP and pulling data that resides there. Typically, this will be done with an SFTP server, where a user would connect to the server (usually via an SFTP client), find the target files, and download them to local storage. 

With an SFTP pull, the user/client initiates the command for the file(s) to be downloaded. The user will connect to the SFTP server and, from there, be able to download files they have access to. 

There are a few things required to connect to an SFTP server. Along with the server hostname and user details, the user you connect as will also need permissions to view and download files. 

 

What is SFTP push?

The opposite of pull, with an SFTP push, the user sends files from their local storage to the other party's remote destination. Similarly to pulls, this is most commonly a remote SFTP server, where the user would connect to the server, navigate to the destination directory, and upload the files. 

The user/client still initiates the commands to connect to the server and uploads the files. The user will connect to the SFTP server and, from there, be able to upload files into directories where they have permission to do so. 

 

SFTP pull vs push

In summary, both SFTP push and pull involve client-initiated connections to a remote SFTP server. With SFTP push, files are uploaded into the server from local storage, and with SFTP pull, files are downloaded from the server into local storage. 

The specifics change slightly depending on the server configuration, but the same basic premise still applies. 

 

Automating SFTP push and pull 

For regular SFTP push/pull with SFTP servers, the process to connect and transfer files can be time-consuming and quickly add up. The client needs to be opened, the user needs to establish the connection to the server, specify which files to upload/download, and then close the connection. 

When the transfers are ad hoc and occasional, this process isn't a major issue. But what about when it needs to be done daily or even multiple times per day? That time spent can quickly become a major resource sink. 

To overcome this, many organizations set up SFTP pull and push automations. With these automations, a user creates the framework to integrate the SFTP server as a connector, then builds a workflow to upload/download files with the server. 

The more regular the transfers, the simpler it is to create a workflow to solve them. Files regularly moving between the same local and remote directories can even be automated completely, with the workflow able to connect to the server and push/pull files at regular intervals. 

Why not always stay connected to the SFTP server? 

In the above sections, we mentioned how one of the issues is connecting to the SFTP servers to transfer files. So why not always stay connected to the server? Maintaining an SFTP connection indefinitely has a lot of drawbacks: ​

  • Resource exhaustion: Servers often limit concurrent connections, and maintaining a connection continues to use resources. Even if this isn't a concern for the local machine (which it usually is), it often is with the server, especially when multiple users need to connect. ​

  • Stale connections: Network issues or timeouts can leave "zombie" sessions open, causing file transfers to fail when all connection parameters are seemingly correct. This is especially problematic when the server doesn't employ auto-retry logic. ​

  • Security risks: While less common in SFTP connections, longer sessions increase exposure to hijacking, session hijacking, or other attacks.

For most file transfer use cases, reconnecting to the server is more reliable, more secure, and uses fewer resources.  

Configuring SFTP push and pull within Couchdrop

Couchdrop makes configuring SFTP push and pull simple. And since it integrates directly with 30+ storage platforms, you can use SFTP push and pull to transfer files directly to and from cloud storage platforms via SFTP.  You can also opt to store files using Couchdrop's Hosted storage, which is included with all plans. 

Configuring SFTP Pull

For SFTP pull, you utilize Couchdrop's capabilities to pull files from an external platform (SFTP or cloud storage) and copy them to your cloud storage.

Since this involves connecting to a remote server, there is no need to create an external user. Rather, you need to choose to connect to platforms/providers and then add information for the SFTP server you want to connect to, meaning that you'll need to have access as a user on the server. Add the user credentials to establish the integration to the server, which will be used for SFTP pull actions. 

You will also need to configure the storage location, which can be on Couchdrop's hosted storage or a directory in any of the supported storage integrations. 

Once you have connected both the source and destination storage platforms, you can automate the process by using Automations.

To configure an automated pull, you will need to do the following:

  • Provide the workflow with a name
  • Specify the intervals you would like to pull files from the external location (as often as every 5 minutes)
  • Specify the remote folder to pull files from
  • Include any additional file processing actions like renaming, decrypting, etc. 
  • Specify the folder to copy the files to

One part of the automation involves setting a schedule, which can be done directly in Couchdrop using the visual scheduler. This is required because, as mentioned above, sustaining ongoing connections is detrimental and resource-intensive. 

Configuring SFTP push

Configuring the push method follows exactly the same steps as the pull method, except you flip the source and destination around so that you are copying files from your folder to a remote destination.

To configure an automated push, you will need to do the following:

  • Provide the workflow with a name
  • Specify the intervals you would like to push files to the external location
  • Specify your folder to copy the files from
  • Include any additional file processing actions like renaming, decrypting, etc. 
  • Specify the remote folder to push files to

Combining SFTP push and pull with file transfer tools

Couchdrop also includes a number of file transfer tools such as web upload portals, secure file sharing links, and mailboxes, each of which can be used alongside SFTP push/pull actions. 

For example, you could create an upload link where a user uploads a file to a shared Google Drive. Then, the automation could make a copy of the file to a SharePoint site and also push the original file to a remote SFTP server, and do this workflow daily at 6:30 am. 

Try Couchdrop for SFTP made simple

Couchdrop is all about simplicity. SFTP setup and management is simple and all done through the intuitive web interface. And there's no infrastructure to worry about--Couchdrop handles it all for you.

Want to see how simple using the different methods of SFTP are with Couchdrop? Try it now for 14 days with no credit card and no hoops to jump through.