平时在公司传文件、更新网站内容,或者帮朋友搭个共享目录,总会遇到FTP这个词。那FTP服务器端口到底是多少呢?其实标准答案是21。
默认端口是21
FTP(文件传输协议)用的默认控制端口就是21。当你用FileZilla、WinSCP这类工具连服务器时,如果不填端口号,默认走的就是21端口。这个端口专门用来发送命令,比如登录、列出文件、创建目录等操作。
ftp example.com # 默认连接的就是21端口
但还有个数据端口容易被忽略
很多人只知道21,却不知道传输文件时还会用到另一个端口。FTP分两种模式:主动模式和被动模式。
在主动模式下,服务器会从20端口主动连你的电脑来传数据;而在被动模式下,服务器会开一个临时高端口(比如50000以上),然后告诉你“来连我这个端口传文件”,这时候除了21,还得放行这些动态端口。
为什么连不上?可能是端口被拦了
你有没有试过输对账号密码却列不出文件夹?很大概率是防火墙把数据端口挡了。家用路由器或云服务器安全组如果只开了21,被动模式下的数据传不了,就会卡住。
解决办法通常是:在FTP客户端设置里启用被动模式,并确保服务器那边配置了可访问的端口范围,再在防火墙里放开对应区间。
能改端口吗?当然可以
为了安全,有些人会把FTP服务从21改成其他端口,比如2121或8021。这样能避开一些自动扫描机器人。改完之后,连接时就得手动指定端口:
ftp example.com 2121
或者在客户端填写 example.com:2121。不过记得告诉同事或合作者新端口,不然人家连不上会以为是你搞错了。
小提醒:现在用SFTP更安全
明文传密码的FTP其实不太安全,尤其在公共网络下。现在很多服务商推荐用SFTP(基于SSH的文件传输),默认走22端口,加密传输,账号密码不会被人 sniff 到。如果你只是自己用,换SFTP比折腾FTP防火墙省心得多。