The Secure Channel Protocol (SCP) is primarily used to transfer files between either a remote and local host or two local hosts, while the Secure File Transfer Protocol (SFTP) allows for a wider range of operations during file transfers across a network. In addition to file transfers, SFTP can be used for tasks such as resuming interrupted transfers, remotely removing files and listing the contents of a directory.
Based on the Secure Shell (SSH) network protocol, SCP was designed to provide encrypted channels for transferring secure data transfers between different hosts. SCP uses the Secure Shell (SSH) for both transfers and authentication, which ensures confidentiality during transit.
The SFTP was designed as an improved extension of the SSH. In addition to providing encrypted communication channels between computers, it offers even more file transfer functions and capabilities than SCP. SFTP is also more platform independent than the Secure Channel Protocol. A common mistake that many people make is to view SFTP as a more secure form of the standard FTP protocol. This is incorrect. SFTP is a different protocol that is independent of FTP and incompatible with FTP servers. Another key difference between both protocols is that SCP only works on servers running SSH version 1, while SFTP only works with servers running SSH version 2.