SFTP、FTPS和SCP–有什么区别?

SFTP、FTPS和SCP–有什么区别
所有这些协议都用于传输文件。但是,它们都以不同的方式提供文件传输。使用哪一种在很大程度上取决于您的功能需求,甚至是所使用的操作系统。在本文中,我们将讨论这些协议的工作原理、局限性、优势以及使用示例。让我们看看SFTP、SCP和FTP之间的区别。

SCP–安全拷贝

SCP是基于SSH(secureshell)的协议。它提供了一种将文件从一个系统安全地复制到另一个系统的简单但有限的方法。它是旧RCP(远程复制协议)的更安全版本。SCP将RCP的复制功能与SSH的身份验证、压缩和加密功能结合起来。

SCP仅限于传输文件。它不提供用于删除、列出、重命名或其他此类文件操作的方法。但是,它提供了一个用户友好的实用程序,可以快速、安全地将文件从一个系统复制到另一个系统。简单易记的sytanx使SCP成为Linux管理员快速文件传输的工具。

几乎所有Linux、UNIX甚至MAC系统上都预装了SCP实用程序。这使得任何使用Windows以外的操作系统的人都可以广泛地访问它。不过,您可以轻松地安装WinSCP或Putty等程序,以便在Windows系统上使用SCP。这些程序将允许您将文件传输到Linux系统。如果要将文件SCP到Windows计算机,则需要安装并启用SSH守护程序。

SCP示例

将文件从本地计算机复制到远程计算机:

scp file.txt username@remote-host:/path/to/save/file.txt

将文件从远程主机复制到本地计算机:

scp username@remote-host:/path/to/file.txt /path/to/save/file.txt

SFTP–安全文件传输协议

SFTP是另一种利用SSH提供的安全性和身份验证的协议。您可以将SFTP简单地看作FTP(文件传输协议),它使用SSH隧道来保护通信安全。

SFTP是一个交互式文件传输实用程序,它提供了更强大的功能。尽管SFTP和SCP都使用SSH进行传输,但这就是相似之处的终结。使用SFTP,您可以列出目录、更改权限和所有者、删除和重命名文件,甚至创建符号链接。这提供了FTP的所有功能和SSH的安全性。

因为它是SSH的一个子系统,所以它通常可以在任何具有SSH的系统上使用。这意味着几乎任何Linux、UNIX或Macintosh系统都可以使用SFTP。如果您是Windows用户,则SFTP客户端有许多选项。我个人最喜欢的是FileZilla。然而,现在几乎所有的FTP客户端都支持SFTP。

SFTP示例

将文件从本地计算机复制到远程计算机:

[savona@putor ~]$ sftp fenrir
Connected to fenrir.
sftp> put file.txt
Uploading file.txt to /home/savona/file.txt
file.txt  
sftp>

将文件从远程计算机复制到本地计算机:

[savona@putor ~]$ sftp fenrir
Connected to fenrir.
sftp> get file.txt
Fetching /home/savona/file.txt to file.txt
/home/savona/file.txt                                                                 100% 3601     1.4MB/s   00:00    
sftp> 

FTPS–文件传输协议安全(FTP-SSL)

FTPS不使用SSH,也不是任何操作系统的本机。它是FTP协议的扩展,使用TLS/SSL保护主机之间的通信。这与使用TLS/SSL保护基本web流量的方式非常相似。

虽然FTP有命令行实用程序,但它最常用于Windows用户通过客户端使用。WinSCP和FileZilla是Windows上用于FTPS连接的两个最流行的客户端。在Linux中,您也可以使用FileZilla。此外,还有命令行工具,如lftp,可以从Linux终端提供ftp。由于FTPS是FTP的扩展,因此它提供了所有相同的功能。FTPS提供复制、删除、更改权限等功能。

FTPS示例

将文件从本地计算机复制到远程计算机:

[savona@putor ~]$ lftp -u savona fenrir
Password: 
lftp savona@fenrir:~> put file.txt
3601 bytes transferred                
lftp savona@fenrir:/> 

将文件从远程计算机复制到本地计算机:

[savona@putor ~]$ lftp -u savona fenrir
Password: 
lftp savona@fenrir:/> get file.txt
3601 bytes transferred                     
lftp savona@fenrir:/>

结论——SFTP、SCP和FTPS

所有这些协议都提供了强大的身份验证和加密选项。协议的实施对于确保系统安全非常重要。FTP使用多个端口,很难安全地允许其通过防火墙。SFTP和SCP仅使用单个端口(默认为22个)。此外,FTPS需要更多配置,这可能会导致错误。但是,SFTP只与SSH配置一样安全。

Bash中比较字符串
强制SSH客户端使用IPv4或IPv6
标签:

发表我的评论

电子邮件地址不会被公开。 必填项已用*标注

50 + 68 =

ajax-loader