一、协议的含义
SFTP协议能够进行“远程文件获取,文件内容传输,文件管理”等操作,它的控制信号和数据信号的传输通过安全数据通道进行。一般情况下,这个安全数据通道由SSH连接提供,即SSH连接隧道作为安全数据通道。
跟只能进行简单文件内容传输的SCP协议相比,SFTP协议更像是一个远程文件系统协议。
SFTP协议工作于OSI七层体系的应用层。
二、协议的原理
SFTP协议分为两个端,分别是SFTP Client和SFTP Server。SFTP Client和SFTP Server之间的控制信号和文件内容的传输得通过安全数据通道进行,安全数据通道可由“Transport Layer Security(TLS)”,“SSH”等协议提供,一般情况下是由SSH协议提供。
一旦SFTP Client和SFTP Server之间的连接得以建立,就可以通过二者之间的控制信号和文件内容的传输实现远程文件系统的功能。
三、协议的实现
Linux下的OpenSSH中包含了实现SFTP协议的相关程序,具体可见《OpenSSH中SFTP协议实现相关程序》。