Ultimate SFTP is a 100%-managed .NET class library that adds powerful SSH File Transfer Protocol client capabilities to your applications. It is fast, reliable, and feature-rich. The SFTP component makes it possible to upload, download, create, delete, and manage files and directories with a few lines of code in .NET, Xamarin iOS, Android, UWP, Mac, and .NET CF apps. The client library is written entirely in C#. The package includes many C# SFTP clients that let you get started quickly. If you need a component for FTP SSL, check out the Ultimate FTP library.
And see why tens of thousands of developers worldwide choose ComponentPro
Download Your Free 30 Day TrialList of the supported platforms
To ensure it performs well, we:
As a result, data is 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.
If an operation or 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 the code to handle the errors.
Connect, authenticate the user to the server, and transfer files with a few lines of code using the intuitive API of ComponentPro's C# SFTP client 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.
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 items 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.
The library also includes SCP classes that let you perform SCP file copying easily.
Provides synchronous or asynchronous data transfer operations 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 remote items.
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:
Not only does Ultimate SFTP support standard and advanced SFTP operations above, but it also supports monitoring and manipulating processing file list while executing muti-file operations like deleting, moving, uploading, and downloading items. That feature makes it possible to add more files to transfer while the operation is still in process. It also provides real-time statistics and status of the items in progress. 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.
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:
You can even split a large remote SFTP file into smaller chunks and download them simultaneously with the MultiPartDownload method. Check out this topic for more details: Chunk file download
In addition to basic username/password authentication method, the SFTP library also supports public key, keyboard-interactive, and GSSAPI, NTLM or Kerberos (with single sign-on as well) authentication methods.
Some examples:
Besides having the comprehensive SFTP interface, it also supports other SSH operations such as executing a command on an SSH server, tunneling through it, starting a new SSH terminal session, reusing an SSH connection for another task, generating key pairs for SSH authentication, etc.
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.
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. Easy-to-use API for validating server identity and customizing/fine-tuning SSH parameters. It supports PKCS8, PuTTY, and OpenSSH key formats as well as keys stored on smart cards. It supports the following security algorithms:
Example:
You will find that almost all other competitors don't support Medium Trust environment; Ultimate SFTP does. The Medium Trust mode is forced by setting the MediumTrust security setting, making it possible to run your web applications on shared hostings.
Ultimate SFTP is used by 8K+ 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.
Our products support the latest Microsoft .NET Task-based Asynchronous Pattern introduced in Visual Studio 2012 - .NET 4.5. You can write your asynchronous methods using async and await (C#) or Async and Await (VB.NET) keywords. If you would like to use the Event-based Asynchronous Pattern, this is also supported.
Some examples:
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 further explanation and more details about these protocols, please see this page: SFTP, SCP, FTP, FTP/SSL - FTPS, and Secure FTP explanation and comparison.
Over 10,000 customers globally integrate our libraries in their applications
Hear what customers say about our products