This is an old revision of the document!

Documentation » Getting Started »

Supported File Transfer Protocols

WinSCP supports three transfer protocols:

  • SFTP (SSH File Transfer Protocol);
  • FTP (File Transfer Protocol);
  • SCP (Secure Copy Protocol).

Advertisement

Currently, many servers support all three protocols. This document contains a comparison to help you to decide which is most appropriate for your needs. The comparison describes both features that are characteristic to the specific protocol as-is, and features that are caused by the implementation of the protocol in WinSCP.

The default mode of operation is to use SFTP and fall back to SCP. Select your preferred protocol on Login dialog.

Protocol Comparison

The list below shows only those features which differ between the protocols, so it is not complete listing.

Feature SFTP FTP SCP
Security Secure (SSH) Optionally secure (FTP over TLS/SSL) Secure (SSH).
Speed Generally slowest (encryption and necessity to wait for packet confirmations). Generally fastest file transfer (no encryption and efficient file transfer), yet transfer setup is slow, so transfer of large number of small files can be slow. Medium (encryption, but efficient file transfer, yet it does not allow the transfer to be interrupted).
Transfer resume Supported. WinSCP supports resuming only since SFTP-2 (which introduces rename command). Supported. Unsupported.
Large files Supports files over 4 GiB (uses 64-bit sizes). Supports files over 4 GiB. Does not support files over 4 GiB (32-bit boundary).
Append to end of file Supported. Supported. Unsupported by WinSCP. Unsupported.
Transfer cancellation Supported. Supported, but can be time-consuming. Transfer cannot be canceled without termination of session.
Text (ASCII) transfer mode Supported since SFTP-4. For older versions WinSCP emulates text mode by converting files before transfer. Supported. Not supported by the protocol. WinSCP emulates text mode by converting file before transfer.
Directory operations Recursive operations with directories (deletion, permissions change) must be performed separately for each file. Thus operations can take a long time, especially for directories with a large number of files. Recursive operations with directories (deletion, permissions change), can be done with a single command (rm, chmod, etc). Thus they are quick. On the other hand it limits some functionality.
File renaming and moving Supported since SFTP-2. Supported. Supported (mv).
Direct File duplication Unsupported by the protocol. WinSCP can open a separate shell session to execute the command. Unsupported. Supported (cp).
Execution of arbitrary command Unsupported by the protocol. WinSCP can open a separate shell session to execute the command. Unsupported. WinSCP allows user to execute arbitrary protocol command. Supported as long as the command does not require user input.
Setting properties (time-stamp, permissions) of uploaded files Supported. Server needs to support MFMT extension. Supported.
Owner or group change In SFTP-2 and SFTP-3, the owner and group can be changed only with knowledge of UID/GID. Since SFTP-4 even change using user or group name is allowed. Supported (MFF). Unsupported by WinSCP. Supported (chown, chgrp).
Checksum calculation Supported, if the server supports respective SFTP protocol extension. Supported (XCRC, XMD5, XSHA). Unsupported by WinSCP. Unsupported.
Checking disk usage Supported, if the server supports respective SFTP protocol extension (SFTP-5 or proprietary OpenSSH extension). Unsupported. Unsupported. Pre-defined custom command Disk Space Usage (df) can be used as an alternative.
Link creation It is possible to create and edit symbolic links since SFTP-3. Hard links are supported only since SFTP-6 (unsupported by WinSCP). Unsupported. It is possible to create both symbolic and hard links (ln). Symbolic links can be edited also.
User group list lookup Unsupported. Unsupported. Supported (groups).
Influence of environment variables Generally unaffected by environment variables. As WinSCP uses shell, it is influenced by environment variables (date format, etc.). WinSCP requires the English environment. See requirements.
Timezone and DST issues with file time-stamps Theoretically no issues, as the protocol requires timestamps to be in UTC. Practically some of the SFTP servers have problems with DST. Theoretically no issues, when the server supports MLSD command, as the comment requires timestamps to be in UTC. Practically some of the FTP servers have problems with DST. When the server supports LIST command only, behaviour is undefined and timezone offset may need to be configured. Some shell commands are influenced by daylight-saving time. For example, the ls command can return a different time than scp. Thus, after transfer, the time-stamp of the file can be different. Also there can be an additional difference caused by the server timezone offset. This causes trouble when comparing directories and synchronization.
Configuration Generally, only login information is needed. For a successful connection to a server it is often necessary to properly set up several configuration options on the SCP/Shell page of Advanced Site Settings dialog.

Advertisement

Last modified: by martin