FTPS 与 SFTP 与 SCP

FTPS 与 SFTP 与 SCP

我想确切地知道以下协议之间的区别:FTPS、SFTP 和 SCP。例如,Unix 有一个 scp 工具,FileZilla 提供 FTP 和 SFTP,而 JetBrains PhpStorm 提供不同的 SFTP 和 FTPS 协议。

感谢您的澄清。

答案1

FTPS 是FTP使用SSL/TLS协议进行加密。这与使用 SSH 作为传输隧道的 SCP/SFTP 系列协议不同。

您通常会使用类似温SCP为了SCP安全FTP(SFTP 是 SCP 的升级版本),而您通常使用 Web 浏览器或网络下载管理器(喜欢菲利兹拉) 用于 FTPS。

FTPS 是基于 Web 的,使用文本命令语法和语义,而 SFTP 则基于安全外壳协议在 *NIX 系统上很常见。

这篇文章很好地描述了这些差异:http://www.codeguru.com/csharp/.net/net_general/internet/article.php/c14329/FTPS-vs-SFTP-What-to-Choose.htm


编辑:按要求阐述:

FTP 是一种互联网协议,可以追溯到1971(多年来经过多次更新)。它主要侧重于内容分发,在 FTPS 的情况下,使用 SSL 来防止窃听和非法修改。FTP 身份验证需要 SSL,以保护传输中的凭据。

大多数浏览器都需要外部插件才能使用 FTPS,部分原因是它不再是一种常用的协议。当它流行时,网络浏览器几乎只支​​持 HTTP,每个人都使用单独的 FTP 客户端。在 FTP/FTPS 最有意义的时候,HTTP 无法很好地处理文件下载。直到HTTP\1.1于 1997 年发布(并于 1999 年更新),HTTP 可以正确处理二进制流。

值得注意的是HTTPFTP使用几乎相同的语义和语法,甚至使用相同的众所周知的返回代码(200、301、403、404、500 等)。FTP 稍旧一些(HTTP 是1989 年标准化在 TCP\IP 占据主导地位之后,FTP 开始逐渐成为主流。两种协议之间的显著相似性表明它们之间存在共同的血统,或者至少是一套共同的约定。我认为这足以将 FTP 称为“基于 Web 的”,就像 HTTP 等其他核心应用层协议一样,邮件传输协议, 和DNS(尽管 DNS 使用二进制布局,而不是像 HTTP/FTP/SMTP 那样的文本)。

SSH 系列是一组专注于服务器管理和远程访问服务器处理能力的协议,而不是简单的内容分发。它允许系统的特权用户连接到 shell 以在服务器本身上执行工作。SCP 和 SFTP 的开发是为了支持与该工作相关的许多文件管理任务。假设您需要在远程服务器上为 Apache 实例安装更新。您通过 ssh 登录,使用 scp\sftp 上传更新包,然后执行它进行安装。与使用 FTPS 实现的工作流程完全不同。

我希望这有助于澄清。

答案2

SCP 是 SSH 的文件传输工具。它需要客户端和服务器都使用 SSH。它不是交互式的。

SFTP 是另一种可以与 SSH 一起使用的文件传输工具(因此它可能再次要求客户端和服务器上都使用 SSH),或与任何其他兼容的安全连接工具一起使用,因为它旨在独立于 SSH。它像旧的普通 FTP 一样具有交互性。请注意,它是不是FTP 优于 SSH,但是一种新协议。

FTPS 是通过 SSL 传输的普通 FTP。

答案3

SCP 是一种 ssh 工具,允许服务器端复制/移动操作,而 sftp 则需要流量在客户端流通。另一方面,sftp 操作可以暂停和恢复。

相关内容