This is an old revision of the document!

Documentation » Getting Started »

Supported Transfer Protocols

As of version 3.0, WinSCP supports two secure transfer protocols, SFTP and SCP. Currently, many SSH servers support both protocols. Both have advantages and disadvantages; this document contains a comparison to help you to decide which is most appropriate for your needs. The comparison describes 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.

Advertisement

SCP (Secure Copy Protocol)

SCP is mostly used with SSH-1. SCP is an older protocol but almost universally supported on Unix-like platforms as part of an SSH protocol suite. It is rarely supported on other platforms. SCP is a descendant of the ancient “rcp”.

The SCP protocol allows only file transfers in both directions. WinSCP is able to offer other features, implemented 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 servers it is necessary that the server have at least a UNIX-like shell.

di yan totoo eto ang totoo…. TOTOO….^^)

SFTP (SSH File Transfer Protocol)

SFTP is mostly operated as subsystem of SSH-2. SFTP is a newer and more modern protocol, designed to perform in a manner similar to FTP. It is widely supported, even on non-Unix-like platforms, but not nearly as universally as SCP. Do not confuse SFTP (based on SSH) with FTPS/Secure FTP (based on SSL); they are distinct protocols which do not interoperate.

WinSCP supports SFTP 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). Support for version 5 is experimental as no server supporting the version is known and it currently does not bring any new functionality.

Advertisement

Unlike SCP, for connection with an SFTP server you do not need access to shell. Thus it is more independent of the remote operating system.

Protocol Comparison

List shows only those features, which makes the difference between the protocols. So it is not complete listing.

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. In versions 3.7.2 and 3.4 several optimizations were introduced that almost reduced the disadvantage over SCP.
Transfer resume Unsupported. Supported. WinSCP supports resuming only since protocol version 2 (which introduces rename command). By default it resumes transfers for files larger than 100 kB only, since the overhead is excessive for smaller files. It is possible to change the threshold in Preferences.
Large files Does not support files over 4 GB (32-bit boundary). Supports files over 4 GB (uses 64-bit sizes).
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 configure line-ending sequence. Supported by protocol since version 4. For older versions WinSCP emulates text mode by converting file before transfer. It is necessary to configure line-ending sequence.
Directory operations 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. 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 large number of files.
File renaming and moving Supported (mv). Supported since version 2 of the protocol.
File duplication Supported (cp). Unsupported by the protocol. WinSCP can open separate shell session to execute the command.
Execution of arbitrary command Supported as long as the command does not require user input. For example it is not possible to execute su root. Unsupported by the protocol. WinSCP can open separate shell session to execute the command.
Owner or group change Supported (chown, chgrp). In version 2 and 3 of SFTP protocol, owner and group can be changed only with knowledge of UID/GID (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 (ln). Symbolic links can be edited also. It is possible to create and edit symbolic links since version 3. Hard links are supported only since version 6 of the protocol (unsupported by WinSCP).
User group list lookup Supported (groups). Unsupported.
Influence of environment variables As WinSCP uses shell, it is influenced by environment variables (date format, etc.). WinSCP requires English environment. See requirements. Generally unaffected by environment variables.
File modification time-stamp 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 additional difference caused by server timezone offset. This causes trouble when comparing directories and synchronization. Theoretically problem does not occur as the protocol requires timestamps to be in UTC. Practically some of the SFTP servers have problems with DST.
Configuration For successful connection to server it is often necessary to properly set up several configuration options on the Login dialog. Generally, only login information is needed.

Last modified: by 61.9.74.49