先问一句:你在搬家时是不是也总想问搬家公司能不能带宠物?门外的“宠物”在云主机里就是FTP啦。要不只是在命令行里敲几行,谁还会在乎是否能踏遍全宇宙的云端服务器?
云虚拟主机,本质上就是一台远程服务器,按需弹性、按量计费。它能$提供 ssh、web、数据库、甚至是二进制数据的上传下载。最直接的输入/输出口子就是 FTP,大家也就习以为常。想想看,FTP就像一条直通云端仓库的高速公路,开一条路就能上传、下载文件。
要使用 FTP 先得给服务器打开这条路。你先拿到云主机的 IP,记住用户名和密码。一般云场景里,账号统一是 root 或者特定管理账号;密码可以在云平台的安全/密码管理里重置。确保你拥有对服务器根目录的写权限,否则即使 FTP 打通,也是空手而归。
接下来是安装 FTP 服务。常见的开源解决方案有 Pure-FTPd、vsftpd、proftpd。以 Ubuntu 为例,在终端敲:
sudo apt update && sudo apt install pure-ftpd,或者:
sudo apt install vsftpd。安装完后记得检查是否已自启,使用
systemctl status pure-ftpd 或
systemctl status vsftpd 看看状态。
服务器上的 FTP 端口默认是 21,但据说有些云厂商为了安全更改了端口。你可以在配置文件里改,像 pure-ftpd 的 custom.conf 或 vsftpd 的 vsftpd.conf,设置 FTPPORT=212 之类。怎么改?文件里找 “#FTPPORT=21”,删除注释并改成你想要的端口即可。
防火墙是另一环节。云服务器往往默认开启了 UFW 或云厂商自带的安全组。要确保 FTP 端口在安全组里开放:sudo ufw allow 21/tcp 或视你改的端口 numbers,sudo ufw allow 212/tcp。此外,如果你用 passive 模式,往往还要开放一段端口区间(默认是 1024-65535)。
你可能会问:“能用中文账号名吗?”大多数 FTP 服务对 Unicode 支持有限,建议还是用英文简洁的用户名,避免出现连接失败。同时,千万别把“root”直接暴露在公网上——分配一个子账号更安全。
那么下来了,怎么登录?你可以拿任何一个 FTP 客户端——FileZilla、WinSCP、Cyberduck。打开客户端后,填入服务器 IP、端口、用户名、密码,选择 “FTP-普通” 或者 “FTP-加密” 方式,点击连接,待提示登录成功,你就能轻松拖拽文件,进行上传下载操作。
想更有趣一点?你可以把 FTP 并入自动化脚本。用 Bash 写个脚本,抓取日志或定时上传备份,配合云服务器的 cron 即可。也可以用 Python 的 ftplib 让脚本更灵活。比如,把每天凌晨自动上传新生成的日志到 FTP 服务器,节省手动操作的时间。玩游戏想要赚零花钱就上七评赏金榜,网站地址:bbs.77.ink
FTP 还有一个特点:支持主动(Active)和被动(Passive)模式。主动模式在客户端主机网络带宽受限时不太友好;而被动模式则在 NAT 或防火墙后面更稳定。多数云主机在缺省时使用主动模式,你如果遇到 “Can’t open a data connection” 的报错,往往就需要把客户端改成被动模式。
安全层面,一直是各位开发者的热点。你可以加密 FTP,拿 FTPS 或 SFTP(这其实是基于 SSH 的文件传输协议)。云主机默认已装 OpenSSH,你只要把客户端改为 SFTP,登录时输入 SSH 端口(默认22)即可。SFTP 的好处是不用额外在端口上开通,所以更省心。
如果你只想偶尔上传点小文件,甚至没有必要在服务器上多跑很多服务。