SFTP 是一种网络协议,可通过安全数据流访问、传输和管理您的数据。SFTP 代表 SSH 文件传输协议,与普通的 FTP 技术不同,它通过安全网络将您的设备连接到远程主机和服务器。SSH、Secure Shell 或 Secure Socket Shell为远程系统创建安全隧道,以便通过开放网络(如 Internet)进行通信。实施 SSH 协议的实用程序提供强密码和公钥身份验证以及加密数据访问。
因此,通过 SFTP 传输的数据是端到端加密的,在传输过程中不能被重定向、嗅探或窃取。只能通过命令行界面通过 SSH 连接到远程服务器。然而,尽管 SFTP 基于 SSH,但某些图形用户界面客户端也支持 SFTP。
常见的 SFTP 用例
SSH 文件传输协议的主要用途是通过本地计算机和互联网管理远程主机(最有可能是云托管服务器)上的数据。
这样你就可以:
- 将文件传输到远程系统。 在远程机器上创建 SSH 服务器,您可以从其他计算机访问您的数据。
- 管理远程计算机网络。网络管理员使用 SFTP 跨服务器连接,管理一个网络中的多个终端,执行上传和备份系统数据。
- 共享敏感的登录信息。通过 SFTP 而非不安全的电子邮件和 FTP 共享 ID 和登录密码。
- 通过云/互联网共享、传输或存储客户数据。不要将敏感数据存储在 DMZ 中或使用电子邮件和 FTP 进行传输。使用 SFTP 以正确的权限保护您的所有通信。
- 上传、检索和管理从本地到云存储的文件和脚本。
- 切换文件远程托管服务器或虚拟专用服务器。VPS 上的数据存储可以说比共享主机更安全。但是,通过开放网络迁移到另一个提供商会使您的文件暴露于可能的数据窃取之下。
如何在 Windows 上使用 SFTP 上传文件
PuTTY 是世界上最流行的 SSH 客户端应用程序之一,默认情况下,它带有一个用于建立 SFTP 连接的模块。它叫做 PSFTP,Windows 用户可以在开始菜单的 PuTTY 文件夹下找到它。
如果您过去使用过 PuTTY,PSFTP 将自动尝试使用您的用户名连接到您的服务器。如果没有,您可以使用open命令和user@hostname约定建立连接。
使用 PuTTY SFTP 使用 SFTP 上传文件
分别对远程目录和本地目录使用cd和lcd命令,从命令窗口浏览存储目录。分别对远程和本地系统使用dir和!dir命令列出当前工作目录的内容。
使用以下步骤将文件从本地计算机上传到远程服务器:
- 使用lcd命令导航到正确的本地目录。
- 使用cd命令导航到要将文件复制到的远程目录。
- 使用put [file name]将文件上传到远程服务器
要将文件从远程服务器下载到本地计算机,请在导航到正确的本地和远程目录后使用get [file name]命令。
运行帮助命令以查看用于导航本地和远程系统的其他代码。
从其他系统使用 SFTP 上传文件
MacOS 和 Linux 都可以建立到远程服务器的 SFTP 连接,而无需额外的客户端。为此,打开终端并输入:
$ sftp [用户名]@[主机名]
您需要输入您的帐户密码,之后您就可以使用标准的 ftp 命令管理您的文件。
使用 FileZilla 上传文件
如果您不习惯使用命令行界面,您很可能希望使用基于 GUI 的客户端,例如 FileZilla。幸运的是,它是完全免费和开源的,并且可以在 Windows、Linux 和 MacOS 上使用。
将 SFTP 与 FileZilla 结合使用与将其用于常规的、不太安全的文件传输协议版本没有太大区别。您唯一需要做的就是在主机名前面输入sftp://并输入正确的端口(开箱即用,SFTP 使用默认的 SSH 端口(端口 22),但一些提供商出于安全原因更改它)。例如,如果您尝试连接到 ScalaHosting 托管的 VPS 服务器,则需要在此处输入的内容。
结论
正确的 SFTP 客户端将为您提供比常规 FTP 或 SCP 实用程序更宽的带宽,这意味着无限的文件大小和更高的效率。除了增加的安全性,SFTP 工具还允许无限连接到单个服务器,通过同时和即时的数据访问提高您的业务的可扩展性。