SFTP or SSH File Transfer Protocol, is a protocol based upon SSH which is used to securely transfer files between computers across the internet. SFTP is used for the same role as the much older FTP, but is a completely different technology.
Files transferred through an SFTP connection are encrypted before sending and decrypted when they arrive. As files travel across the internet they are unreadable to anyone without keys.
Like a typical SSH connection, transferred files are encrypted by a set of cryptographic keys generated just for the session, which are be discarded after the connection is broken. Initially SFTP connections can be granted via user name and password and enhanced using public and private encryption keys. The encryption keys are far more secure but take a little more up-front effort to set up.
SFTP is highly suited to transferring files between Linux computers, as the SSH protocol is included in the operating system by default.
Don’t confuse SFTP with FTPS
SFTP is commonly confused with FTPS. Though they are both used for the same task, FTPS is an extension of the old FTP protocol which uses SSL/TLS technology to encrypt files transferred between server and client. SFTP was built from the ground up to be encrypted. Both SFTP and FTPS have pros and cons and the method you choose to transfer files comes down the needs that particular scenario implies.
Resources where you can read more about SFTP: