Home Products Ultimate SFTP Component for .NET

SFTP Component for .NET - SSH File Transfer Client Library

Easily add comprehensive SSH Secure File Transfer capabilities to your .NET applications

Ultimate SFTP is a 100%-managed .NET class library that adds powerful SSH Secure File Transfer (SFTP) capabilities to your applications. It is fast, reliable, and feature-rich. Ultimate SFTP makes it possible to upload, download, create, delete, and check files and directories with a few lines of code.

If you need the Xamarin Android, iOS and .NET CF version, visit Ultimate SFTP Library for Mobile for more details.

Ultimate SFTP for .NET is also included in

Optimized for Transfer Speed and Memory Usage

To ensure the Ultimate SFTP library performs well, we:

  • Optimize its code following best coding practices for performance
  • Use as few resources as possible to minimize memory usage
  • Optimize default component and socket settings for maximum transfer speed

As a result, files and directories are transferred at the maximum transfer speed possible. Should you want to limit the transfer speed, take advantage of bandwidth throttling by setting the MaxDownloadSpeed and MaxUploadSpeed properties of the Sftp class.

ultimate sftp is optimized for performance

Auto-reconnect and Auto-resume

If an operation or file transfer is interrupted due to a broken connection, the component automatically determines whether it should reconnect to the server if the auto-reconnect feature is enabled. When the connection is reestablished, the component will resume the interrupted transfer. As a benefit your application can still transfer files completely even if the connection to the server is intermittently broken without requiring code to handle the errors.

Intuitive and Fully Documented API

Connect, authenticate the user to the server, and transfer files with a few lines of code using the intuitive API of ComponentPro's Ultimate SFTP API. By using 100% managed code written in C#, this component takes advantage of the numerous built-in features of the .NET Framework to enhance performance. Moreover, the library is CLS compliant, and it does not use any unsafe blocks for minimal permission requirements.

Our classes are fully documented with detailed example code which helps shorten your learning curve. If your development environment is Visual Studio, enjoy the full integration of the online documentation. Just mark or select a keyword and press F1 in your Visual Studio IDE, and the online documentation is represented instantly.

ultimate sftp is intuitive and fully documented API

Sample Usage - Transferring files and directories

// Create a new instance of the Sftp class.
using (Sftp client = new Sftp())
    // Connect to the server.

    // Authenticate the user
    client.Authenticate(userName, password);

    // Upload the local file.
    client.UploadFile(@"c:\folder\data.dat", "/file.dat");

    // Download "*.dat" and "*.txt" files.
    client.DownloadFiles("/data/*.dat;*.txt", @"c:\data");

Support .NET Framework and Mono

Our components can be integrated to your .NET applications including Console, Windows Forms, Windows Services, Web Forms, ASP.NET MVC, WPF, and Web Services. You can also develop similar applications on Linux and Mac OS X with Mono. This gives you the capability to create cross-platform applications that can run on Windows, Linux, and Mac OS X operating systems.

Developers can use the library in any .NET languages, such as C#, VB.NET, J#, C++, and F#. For Xamarin Android and iOS projects C# is supported. The following platforms are supported:

  • .NET Framework: 2.0, 3.5, 4.0, 4.5, 4.5.1
  • Mono: 2.1, 3.+ on MAC OS X and Linux
ultimate sftp supports .net framework and mono

Support SCP

The library also includes SCP classes that let you perform SCP file copying easily.

Some examples:

ultimate sftp supports SCP

Unified File System Across SFTP, FTP and ZIP Libraries

To reduce the effort required to rewrite a number of classes for different systems such as FTP, SFTP, ZIP, Local Disk, and Memory, we introduce the Unified File System. This makes the file and directory management on these systems seamless. The Unified File System allows you to use the same code to transfer files and directories directly between two different systems. As a benefit, you may need to write only one class that works with all systems. The complicated work is done by the File System library, eliminating the requirement to learn more about other File Transfer Protocols. For more information, please visit this topic.

Some examples:

ultimate sftp supports SCP

Advanced File Management

Provides synchronous or asynchronous file transferring as well as the ability to deep search, delete, move, set properties, check existence, synchronize, and compare files and directories to your applications, offering an easy way to manage files.

The FileSystem library included in the package allows you to define search criteria so you can send, receive, move, search, delete, and mirror only files and folders that fit the specified criteria.

Some examples:

ultimate sftp advanced file management

Manipulate File Transfer List On-the-fly

Ultimate SFTP not only supports standard SFTP operations and advanced file management on single file and multi files with wildcard masks like File Search, Delete, and Set attribute/permissions. It also supports deleting, uploading, and downloading files with real-time statistics and status of the files in process. To add or remove a file or directory from the list of processing items, all you need to do is to call the Add or Remove method of the ProgressFileList class.


The library is compliant with RFC 4250-4254, 4256 and 4419. It supports the following protocols:

  • SSH v2
  • SFTP v3 & v4

Support Multi-threading

In addition to supporting basic and advanced tasks, Ultimate SFTP also supports multi-thread download and upload, as well as data compression on-the-fly with built-in Zlib classes to speed up the transfer.

Some examples:

Support for Many Authentication Methods

In addition to basic username/password authentication method the SFTP library also supports public key, keyboard interactive, and GSSAPI authentication methods.

Some examples:

ultimate sftp supported authentication methods

SSH Features Included

Beside having the comprehensive SFTP interface, the Ultimate SFTP component also supports other SSH operations such as executing a command on an SSH server, starting a new SSH terminal session, reusing an SSH connection for another task, etc.

ultimate sftp supports ssh session

PowerShell and SQL-SSIS

UltimateSftp can be easily integrated with Powershell with some simple steps. You can also use it for the SQL-SSIS package. Please see this topic for more details.

ultimate sftp can be used in powershell & sql-ssis


The library enables you to build applications with many security features including enabling only the Federal Information Processing Standards (FIPS) approved encryptions, verifying server key, and generating private/public key pairs. It supports the following security algorithms:

  • Encryption Algorithm: AES, RC4, Triple DES, Blowfish, and Twofish
  • MAC Algorithms: MD5, SHA1
  • Key Exchange Algorithms: Diffie-Hellman, group exchange with SHA-1 and SHA-256


sftp security

ASP.NET Medium Trust Support

You will find that almost all other competitors dont support Medium Trust environment; Ultimate SFTP does. The Medium Trust mode is forced by setting the MediumTrust security setting, making it possible run your web applications on shared hostings.

Tested against many SFTP Servers

  • Bitvise WinSSHD
  • CoreFTP Server
  • GlobalScape Security Server
  • GlobalScape EFT Server
  • VanDyke VShell Server
  • OpenSSH
  • WeOnlyDo wodSFTP
  • Tectica
  • XFB.Gateway
  • and many more...


Ultimate SFTP is used by 18K+ developers at thousands of organizations around the world. It is also the core library in our FREE LionFTP client for Windows which is used and trusted by many users.

Task-based and Event-based Asynchronous Patterns

Our products supports the latest Microsoft .NET Task-based Asynchronous Pattern introduced in Visual Studio 2012 - .NET 4.5. You can simply write your asynchronous methods using async and await (C#) or Async and Await (VB.NET) keywords. If you would like to use Event-based Asynchronous Pattern, this is also supported.

Some examples:

sftp async await


You may be confused about the names of these protocols, as the acronyms seem so similar to one another. For example, "SFTP" sounds like an abbreviation of "Secure FTP", when in fact "SFTP" and "Secure FTP" are two different protocols. For futher explanation and more details about these protocols, please see this page: SFTP, SCP, FTP, FTP/SSL - FTPS, and Secure FTP explanation and comparison.


Your products are great. It makes my life so much easier. Now I only need to focus on business logic instead of having to deal with many limitations of the .NET framework.
Geoff Suddard - Software Developer Office Choice Limited
It was a really good idea for me to switch from the previous suite to your Ultimate Studio few months ago. It has a modern design and the classes saved me a lot of time. Thank you very much...
Robert Osorio - Senior Developer JPMorgan Chase