【2024-04-27 01:28:25爱思瑞网快讯】
文件传输协议是用于将文件传输到网络服务器的较旧的网络协议。以下是如何在您的Mac上使用它。
我们之前介绍过基于终端的SCP协议,该协议允许您在网络上安全地复制文件。
如何在macOS中使用SFTP和rsync进行文件传输介绍了如何使用SFTP和rsync – 一种UNIX备份和还原工具。
还有另一个较老的协议称为文件传输协议(FTP),它允许您在Web服务器之间传输文件。
FTP被普遍认为已经过时(且不安全),因为它在明文中交换登录和文件信息 — 这是一种安全风险。您的网络外部的任何人(或内部的威胁参与者)都可以窃听FTP通信会话以窃取密码和数据。
FTP 可以通过SSL/TLS网络加密(FTPS)进行保护,但即使这样也不再被视为最佳做法。
如果您仍需要连接到古老的FTP服务器,macOS有几个应用程序可供使用。第三方FTP GUI应用程序和macOS终端中内置的命令行(CLI)ftp
工具都可用。
您还可以在macOS Finder中连接到一些FTP服务器。
直到最近,大多数网页浏览器都在URL前缀中使用ftp://,但包括Firefox在内的许多现代浏览器已经放弃对FTP协议的支持。
FTP历史
FTP服务器被集成到大多数常见的Web服务器中,如Apache基金会的Apache等。FTP服务器守护程序在服务器后台运行,监听传入连接和文件传输请求。
最初的FTP规范于1971年4月在RFC 11中发布。在TCP/IP和互联网变得普及之前,FTP运行在ARPANET的网络控制协议(NCP)上。
ARPANET是现代互联网的前身,由美国国防部高级研究计划局(DARPA)开发。事实上,互联网诞生是因为美国国防部希望拥有一个能够在核攻击下生存的军事级通讯网络。
现代TCP/IP互联网标准的正式开始始于1983年1月1日,当整个ARPANET从NCP更改为TCP/IP。
这发生在图形用户界面出现之前,大多数FTP都是在UNIX基于文本的终端上使用CLI ftp
命令完成的,而这在今天的macOS中依然存在。
使用FTP连接
当FTP客户端发出请求时,服务器会检查身份验证详细信息,如果有效,则允许用户连接。连接后,用户可以查看目录内容,上传,下载和删除文件。
通常情况下,用户名和密码会被发送到服务器,但在许多FTP客户端中,可以设置PKI密钥来控制登录。
密钥更安全,因为除非有人从用户计算机窃取了私钥,否则几乎不可能破解PKI密钥,因为它们被强加密。
在GUI FTP客户端中,您可以通过指定Mac上的公钥文件或在应用程序的授权窗格中输入用户名和密码来连接。
我们将很快介绍各种GUI客户端。
CLI命令
您可以在终端应用程序中查看如何使用FTP的CLI版本,方法是从/实用程序文件夹中运行终端,然后键入man ftp
并按回车键。
使用CLI下载的FTP文件将被发送到终端中您的Mac上的当前工作目录,除非您指定另一个目的地。
您可以使用pwd
命令在终端中查看当前工作目录或pwd。
CLI还允许您指定源服务器、目的地位置以及要下载的文件或文件夹。如果下载文件夹,则会下载其全部内容,除非另有规定。
Mac的第三方FTP客户端
自上世纪90年代初以来,Mac上就存在GUI FTP客户端。当时,苹果发布了自己的FTP客户端应用程序Cyberdog,该应用程序大约在互联网变得普及的那个时期推出。
今天,仍然有一些同样的FTP客户端。大多数Mac FTP应用程序的供应商已经离开该领域,因为它越来越过时,但仍有一些留存。
以流行程度排序,今天Mac上顶级FTP客户端为:
- Panic推出的Transmit($45,提供免费演示版)
- FileZilla(免费,还有付费的专业版)
- Fetch($29,提供免费演示版)
- Cyberduck($10,提供免费演示版)
- Binary Nights的Forklift
- CloudMounter(单个价$29,团队价$99)
- Terminus(SFTP)
- Commander One
今天有许多其他客户端应用程序可供下载,既可以从网络上下载,也可以从Mac App Store中获取。
Transmit、FileZilla、Forklift和CloudMounter也可在Mac App Store上获取,也可以从发布商的网站上获取。
Transmit、Cyberduck和CloudMounter还可以连接到各种云文件存储服务。它们支持Amazon S3、Microsoft Azure、Google Drive、Dropbox、Backblaze等。
Cyberduck和CloudMounter还支持各种其他云服务,如OpenStack Swift、Box和Files.com。
Cyberduck还具有一个可选组件,可以让您将任何FTP服务器或目录挂载为macOS桌面上的网络磁盘。一旦连接,您可以像访问本地磁盘一样浏览、上传和下载文件到远程服务器。
在某些情况下,您也可以在macOS Finder中执行此操作(后面会看到)。
Mountain Duck提供比普通Finder连接更多的功能。
Transmit和Fetch被认为是两个最早的Mac GUI FTP客户端,因为它们早在上世纪90年代就在苹果的Mac OS 9上推出,那时互联网变得流行。Fetch实际上是在1989年推出的,当时macOS被称为System 7。
Transmit和Fetch都是很棒的应用程序,但在我们看来,Transmit是金标准。它还具有最精致、无缝的用户体验。
FileZilla被认为是Mac和Windows上FTP的免费标准。它具有许多功能,但界面被认为比其他Mac FTP应用程序不够精致。FileZilla也是开源的。
FileZilla的一个不错功能是连接时的冗长连接日志窗格(可隐藏或显示)。当Mac连接到远程服务器时,此窗格会显示详细的连接日志。
如果在连接过程中出现问题,您可以在日志窗格中准确查看问题所在。
ForkLift还可以充当本地双窗格本地文件浏览器,这样您就可以同时查看Mac上的本地文件和远程FTP服务器的文件。
Terminus是一个SFTP应用程序,但还提供使用SSH的类似终端的命令行界面。
Commander One是一个FTP客户端,还具有双窗格文件浏览器功能。
在Finder中连接到FTP
在macOS的Finder中,您可以通过使用Finder菜单栏顶部的前往->连接到服务器菜单项来连接到FTP服务器,输入使用ftp://协议的FTP服务器名称或地址。
如果服务器可访问,您将收到一个确认警报。点击连接。
如果出现问题,您将看到一个警报,指出服务器无法访问。在这种情况下,请检查您的连接详细信息并重试。
服务器会提示您输入名称和密码,或者是否要以访客身份连接。大多数FTP服务器不允许访客,但有些允许。
如果您想以访客身份连接,请单击访客单选按钮。否则,请单击注册用户并输入您的名称和密码。
通常情况下,访客访问不需要名称或密码即可连接。
如果一切顺利,您将连接成功。FTP服务器将作为桌面上的磁盘图标挂载,并为该卷打开一个新的Finder窗口。
挂载的FTP卷看起来就像桌面上的本地磁盘图标一样,只是它们有一个显示几个用户的金属银色图标。
一些FTP服务器允许匿名连接 – 使用通用凭据而不是实际名称和密码的连接。在这些服务器上,通常需要将用户输入为”anonymous”,密码为您的电子邮件地址。
匿名FTP服务器通常接受任何电子邮件地址,因此您可以随意编造一个。连接不需要正式性。
一些匿名FTP服务器只允许下载文件,特殊的“incoming”或“uploaded”文件夹设置了对用户具有写权限以上传新文件以供服务器管理员查看。
如果服务器上的文件夹可以上传,则窗口左下角的小锁图标将不见了。在上面显示的图像中,该目录是只读的,如左下角带有画线的小铅笔所示。
连接后,您只需将文件和文件夹拖入和拖出窗口即可将文件和文件夹下载和上传到服务器目录。在文件传输时会弹出一个标准文件拷贝进度窗口。
FTP是一种较旧的协议,但许多Web服务器仍在使用。了解连接文件的不同方法是很有必要的。