This is an old revision of the document!
WinSCP Supported Transfer Protocols
Since version 3.0, WinSCP supports two secure transfer protocols, SFTP and SCP. Currently, many of the SSH servers support both protocols. Either of them have both advantages and disadvantages. This document contains their comparison to help you to decide, which is most appropriate for your needs. Comparison lists either features that are characteristic to protocol as is or features that are caused by implementation of protocol in WinSCP.
The default mode of operation is to use SFTP and fall back to SCP. Both protocols have advantages and disadvantages.
Advertisement
SCP (Secure Copy Protocol)
SCP is mostly used with SSH1. SCP is an older protocol but almost universally supported as part of an SSH protocol suite. SCP is a descendant of the ancient “rcp”.
Protocol itself allows only file transfers in both directions. Other features of WinSCP are realized using common shell commands, like cd, ls, pwd, rm, ln, etc. For this, WinSCP, unlike command-line SCP clients, which allow only file transfers, requires full shell access and permission to execute other commands in addition to scp (see requirements). For access to non-UNIX operation system, it is necessary to have at least UNIX-like shell. One like that is for example available with OpenSSH for Windows.
SFTP (SSH File Transfer Protocol)
SFTP is mostly operated as subsystem of SSH2. SFTP is a newer and more modern protocol, designed to perform in a manner similar to FTP. It is widely supported, but not nearly as universally so as SCP.
WinSCP supports version 0 (since 3.4), version 1 (since 3.4), version 2 (since 3.1), version 3 (since 3.0 beta), version 4 (since 3.2) and version 5 (since 3.6.7) of the protocol. Support for version 5 is experimental as no server supporting the version is known and currently does not bring any new functionality. Unlike SCP, for connection with SSH server, you do not need access to shell. Thus it is more independent on remote operation system.
Protocol comparison
List shows only those features, which makes the difference between the protocols. So it is not complete listing.
Advertisement
Feature | SCP | SFTP |
---|---|---|
Speed | Transfers are faster in general. Protocol do not use packet confirmation, yet it causes some serious problems. | Transfers are slower in general due to necessity to wait for packet confirmations. Since 3.4 several read/write requests are issued in parallel, which suppress the disadvantage significantly. |
Transfer resume | Unsupported. | Supported. By default WinSCP allows resume only for files greater than 100 kB. It would cause not appropriate slow down with smaller file. It is possible to change threshold in Preferences. |
Append to end of file | Unsupported. | Supported. |
Transfer cancellation | Transfer cannot be canceled without termination of session. | It is possible to cancel transfer and continue with work. |
Text (ASCII) transfer mode | Not supported by protocol. WinSCP emulates text mode by converting file before transfer. It is necessary to select appropriate line-ending sequence on login screen. | Supported by protocol only by version 4. For older versions WinSCP emulates text mode by converting file before transfer. It is necessary to select appropriate line-ending sequence on login screen. |
Directory operations | Recursive operations with directories (deletion, permissions change), can be done with a single command. Thus they are quick. | Recursive operations with directories (deletion, permissions change), must be performend separately for each file. Thus operation can take a long time, especially for directories with large number of files. |
File renaming | Supported. | Supported since version 2 of the protocol. |
Execution of arbitrary command | It is possible from Console dialog. Yet only when the command does not require user input. For example it is not possible to execute “su root”. | Unsupported. Since version 3.6.7 WinSCP can open secondary shell session to execute the arbitrary command even if the main session is SFTP. |
Owner or group change | Supported. | In version 2 and 3 of SFTP protocol, owner and group can be changed only with knowledge of UID/GUID (unsupported by WinSCP). Version 4 allows even change using user or group name. |
Link creation | It is possible to create both symbolic and hard links. Symbolic links can be edited also. | It is possible to create and edit symbolic links since version 3. Hard links are not supported. |
User group list lookup | Supported. | Unsupported. |
Influence of localized environment | As WinSCP uses shell, it is influenced by eventual localized environment (date format, etc.). WinSCP requires english environment. See requirements. | Is not influenced by localized environment. |
File modification timestamp | Some shell commands are influenced by day light saving time. For example ‘ls’ command can return different time than ‘scp’. Thus after transfer timestamp of file can be different. This causes troubles when comparing directories. | This problem does not emerge. |
Configuration | For successful connection to server it is often necessary to properly setup several configuration options on login screen (SCP tab). | It is not necessary anything more than login data. |