SCP vs SFTP:您应该使用哪一个进行文件传输

SCP(安全复制协议)和 SFTP(安全文件传输协议)是 FTP(文件传输协议)的替代品,这对于本地、非计划的文件传输很有用。 这三个都可以帮助完成通过以太网将文件从一个位置移动到另一个位置。 但是,FTP 以纯文本形式发送数据,而另外两个使用 Secure Shell (SSH) 协议进行通信。

什么是 SCP 和 SFTP?

SCP(安全复制协议)

这是一种非交互式文件传输,仅使用 shell 和远程命令,在两台计算机之间安全地传输文件。 这是以前 RCP 的安全版本,FTP 使用 SSH 协议进行身份验证,但具有类似的命令行语法。 虽然它强烈基于 SFTP 实用程序,但在使用脚本设置无人值守文件传输时,SCP 通常是更合适的选项。

该命令可用于向服务器发送文件或从服务器检索文件。 基本上,它将文件字节写入 SSH 隧道,并允许 SSH 处理更复杂的过程,例如完整性和压缩。

在根据您选择的标准传输多个文件时,SCP 也可以与通配符语句一起使用。 这些通配符也可用于发送和接收文件。

它还在计算机(本地和远程)之间或一个远程主机和另一个远程主机之间复制文件。

SFTP(安全文件传输协议)

scp-sftp-差异-使用哪个-sftp

与非交互式的 SCP 不同,SFTP 是一种交互式文件传输协议或程序,它通过加密的 SSH 传输执行所有操作。

它使用多种功能,例如压缩或公钥认证,连接并登录到特定主机并进入交互命令模式。

SFTP 可以指简单文件传输协议或 SSH 文件传输协议。 后者设计用于与 SSH 一起使用以实现安全文件传输,而简单文件传输协议是一个轻量级的 FTP 版本,已被 TFTP 取代。 它在 TCP 端口 115 上运行。

如果您使用非交互式身份验证方法,它还用于自动检索文件; 否则它会在成功的交互式身份验证后检索它们。

虽然它适用于许多协议,但 SFTP 通常使用 SSH 进行安全身份验证。

笔记: SFTP 不是基于 SSH 的 FTP,而是一个全新的协议。

SCP 和 SFTP 的区别

两个文件传输程序之间存在一些相似之处,例如都使用 TCP 端口 22 并在 SSH 上运行,这使得它们在安全性方面相同。

它们都提供包括动态数据加密和公钥认证在内的功能。 此外,这两种协议都支持大文件的传输,因为它们没有文件大小限制。

SCP 和 SFTP 的主要区别在于它们的规格和功能。

功能性

SCP 传输数据并防止拦截,而 SFTP 执行文件访问、传输和管理功能。

因此,虽然 SCP 更好地设计用于两台联网计算机之间的一次性文件传输,或者通过 Internet 远程传输,但 SFTP 不仅可以做到这一点,而且还可以管理这些数据。

运营

SCP无法执行远程目录列表或文件删除等操作; 它只能传输文件。 另一方面,SFTP 执行所有操作,包括文件删除和目录列表任务。

SFTP 为更多远程管理提供了一个 GUI 组件,并且更像是一个远程访问的文件系统,但 SCP 不提供。

文件传输速度

SCP 比 SFTP 更快地确认收到的数据包,后者必须确认每个小数据包。 在高延迟网络上尤其如此。

SCP 的另一个优势是它使用更有效的文件传输算法。

恢复中断的文件传输

SCP不支持这个功能,但是SFTP通过命令行客户端支持。

命令行

SCP 是非交互式的,无法读取命令脚本,因此所有内容都必须写在命令行上。 另一方面,SFTP 是交互式的,因此它可以从文件中读取命令。

您应该使用哪一个进行文件传输:SCP 还是 SFTP?

虽然它们有相似之处和不同之处,但说一个比另一个更好是不公平的。 这两个传输文件都具有类似的安全功能,因为它们在 SSH 上运行。 您选择的实用程序将基于最适合您的环境要求的内容:速度、功能和安全性。

图片来源: SSH, 贾玛00

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅