 in computing, the ssh file transfer protocol (also secure file transfer protocol, or sftp) is a network protocol that provides file access, file transfer, and file management functionalities over any reliable data stream. it was designed by the internet engineering task force (ietf) as an extension of the secure shell protocol (ssh) version 2.0 to provide secure file transfer capabilities. the ietf internet draft states that even though this protocol is described in the context of the ssh-2 protocol, it could be used in a number of different applications, such as secure file transfer over transport layer security (tls) and transfer of management information in vpn applications. this protocol assumes that it is run over a secure channel, such as ssh, that the server has already authenticated the client, and that the identity of the client user is available to the protocol. ==capabilities== compared to the scp protocol, which only allows file transfers, the sftp protocol allows for a range of operations on remote files â it is more like a remote file system protocol. an sftp client's extra capabilities compared to an scp client include resuming interrupted transfers, directory listings, and remote file removal.  sftp attempts to be more platform-independent than scp; for instance, with scp, the expansion of wildcards specified by the client is up to the server, whereas sftp's design avoids this problem. while scp is most frequently implemented on unix platforms, sftp servers are commonly available on most platforms. sftp is not ftp run over ssh, but rather a new protocol designed from the ground up by the ietf secsh working group. it is sometimes confused with simple file transfer protocol. the protocol itself does not provide authentication and security; it expects the underlying protocol to secure this. sftp is most often used as subsystem of ssh protocol version 2 implementations, having been designed by the same working group. however, it is possible to run it over ssh-1 (and some implementations support this) or other data streams. running an sftp server over ssh-1 is not platform independent as ssh-1 does not support the concept of subsystems. an sftp client willing to connect to an ssh-1 server needs to know the path to the sftp server binary on the server side. for uploads, the transferred files may be associated with their basic attributes, such as timestamps. this is a
Cryptographic_protocols Network_file_transfer_protocols Secure_Shell