Rebex SFTP

SFTP and SCP client .NET library

Download 30-day free trial Buy from $349
More .NET libraries

Back to feature list...


See also platforms and standards the SFTP library is compliant with.

XCOPY deployment 

When distributing an application using Rebex SFTP library, simply copy the following DLL files (.NET assemblies) with your application:

  • Rebex.Common.dll
  • Rebex.Networking.dll
  • Rebex.Sftp.dll

There is no need to install, configure or distribute anything else to make them work.

Rebex SFTP license is royalty-free - you can distribute your application to unlimited number of users or computers without any additional fees.

Supported SFTP/SSH servers 

Rebex SFTP library works with all standard-compliant SFTP servers that implement SFTP v3 or v4 and SSH v2. It even works with many servers that implemented the SSH and SFTP protocol incorrectly, are outdated, or simply buggy. Over the years we've added many workarounds and fixes for ill-behaved servers that our clients encountered in the wild. Most of the workarounds are activated automatically, so you don't have to do anything. It just works.

Examples of servers that work with Rebex SFTP:

  • Bitvise SSH Server
  • Cerberus FTP Server
  • CompleteFTP
  • Copssh
  • Core FTP server
  • Cornerstone MFT
  • Couchdrop cloud SFTP
  • CrushFTP
  • FileZilla Pro Enterprise Server
  • freeFTPd
  • freeSSHd
  • FTPShell Server
  • Globalscape EFT Server
  • GoAnywhere MFT
  • MFT Server by JScape
  • OpenSSH
  • Powershell Server by /n Software
  • Rebex Buru SFTP Server
  • Rebex FileServer - SFTP and SSH server library for .NET
  • Rebex Tiny SFTP Server
  • Secure SFTP Server by Provide
  • SecureTransport by Axway
  • Serv-U MFT Server by Solarwinds
  • SFTP server by /n software
  • SFTPGo
  • SFTPPlus
  • SilverShield
  • Syncplify
  • Tectia SSH Server
  • Titan FTP Server
  • VShell Secure File Transfer Server by VanDyke
  • Wing FTP Server
  • WS_FTP Server
  • Xlight

Workarounds for common server issues 

Workarounds for some server issues are not enabled by default because detecting them automatically would be troublesome. They can be enabled by setting the following properties of Sftp.Settings to true:

Property Purpose
DisableSftp4 Disable SFTP v4 and only use v3.
Workaround for some broken SFTP servers that report 'Unsupported operation' error.
DisableTransferQueue Disable queuing of read and write requests.
Workaround for SFTP servers that don't handle the request queue properly.
UseSmallPackets Use small data packets (4KB each) during upload and never split them.
WaitForServerWelcomeMessage Wait for server SSH protocol welcome message before sending a client message.
Workaround for servers that improperly discard client messages preceding the server welcome message, causing a 'Timeout exceeded while waiting for welcome message' error while initiating the SSH session.
TreatUnknownItemsAsFiles When getting directory content, each item should have an information about its type (file / directory / symlink etc.). Some SFTP server does not provide this information at all and the GetItems methods throws an exception '{itemname} is not a file or directory'.
To suppress this exception and to force the library to treat all such items as files, set the TreatUnknownItemsAsFiles setting to true.

Back to feature list...