服务器的FTP账户和密码,本质上是服务器系统中用于登录FTP服务的一组身份凭证,由用户名和对应的口令组成,用于验证你有权通过FTP协议读写服务器上的指定目录。
这组凭证不是服务器的开机密码,也不是云控制台的登录口令,它专门服务于FTP服务程序,搞清楚这一点,能帮你省去不少排查故障的时间。
FTP账户密码是什么,它具体管什么用
FTP服务的全称是文件传输协议,它运行在服务器的21号端口,服务器上的FTP服务程序,会维护一份独立的用户名单,这份名单里的每一个条目,就是一个FTP账户,包含用户名和加密后的密码。
它和服务器系统账户的区别
很多人会把FTP账户和SSH登录账户搞混,这完全是两回事。
- 系统账户:用于SSH远程登录服务器执行命令,权限通常较大,可以操作整个文件系统。
- FTP账户:只能通过FTP客户端软件(如FileZilla)连接,权限被限制在指定目录内,例如
/home/wwwroot或/var/www/html。
它的权限范围由什么决定
FTP账户能干什么,取决于服务程序(如vsftpd、Pure-FTPd)的配置。
- 读写权限:账户可以上传、下载、删除文件。
- 只读权限:账户只能下载,不能修改服务器文件。
- 目录锁定:账户被限制在某个根目录内,无法跳出该目录查看其他文件,行业共识认为,生产环境务必开启目录锁定功能,防止用户越权访问敏感数据。
服务器FTP账号密码怎么查看,常用的获取路径
你无法直接“查看”密码,因为密码在服务器上是以哈希形式存储的,但你可以通过以下几个途径获取或重置它。
你在云服务商控制台创建过FTP账户
大多数云服务器面板(如宝塔面板、WDCP、AMH)都提供可视化的FTP管理界面。
- 登录你的服务器管理面板,找到

FTP管理
菜单。 - 在用户列表中找到对应的账户,点击重置密码按钮,系统会生成一个新密码。
- 如果你忘了密码,直接重置即可,多数情况下,面板会要求你输入新密码,而不是显示旧密码。
你使用的是Linux系统原生命令行
你需要通过SSH登录服务器,手动操作:
# 查看FTP用户列表(以vsftpd为例) cat /etc/vsftpd/virtual_users.txt # 如果使用系统账户映射,查看系统用户 cat /etc/passwd | grep ftp
这里看到的密码是加密字符串,无法反向破解,正确的做法是直接重置:
# 针对虚拟用户(文本数据库方式) cd /etc/vsftpd htpasswd -d /etc/vsftpd/virtual_users.txt ftpuser # 针对系统用户 passwd ftpuser
使用Pure-FTPd服务
Pure-FTPd是另一款常见FTP服务软件,它的管理命令略有不同:
# 查看用户信息 pure-pw list # 修改密码(会提示输入新密码) pure-pw passwd ftpuser pure-pw mkdb
修改后必须执行mkdb命令重建数据库,否则改动无效,忘记这条,是许多人重置密码后依然登录失败的原因。
FTP密码忘了怎么办,重置前后要改哪些地方
这里的“忘了”,通常有两种情况:一种是忘了面板登录密码,进不去管理界面;另一种是FTP面板能进,但FTP账号的密码丢了。
面板登录密码也忘了
以宝塔面板为例,你在SSH终端输入:
bt
按提示选择重置面板密码即可,之后进入面板,再重置FTP账户密码。
仅FTP密码丢了
直接在面板或命令行重置,但重置后有个关键操作:检查你本地的FTP客户端软件,FileZilla、FlashFXP等软件默认保存旧密码,如果你在软件里保存了站点配置,重置后需要手动更新站点密码,否则一直报“530 Login incorrect”。

重置密码后需要同步修改的配置
如果你用FTP来做网站自动备份或CI/CD部署(如使用GitHub Actions、Jenkins),那么在服务器FTP密码变更后,要记得更新这些自动化任务里的凭据,否则后续的自动化任务会静默失败。
服务器FTP账号密码的安全配置要点
简单密码是服务器被入侵的主要原因之一,统计表明,相当一部分FTP爆破攻击都是针对弱口令的,配置FTP账户时,请遵守以下基线要求:
- 密码长度不少于12位,且包含大小写字母、数字、特殊符号。
- 不要使用与SSH密码相同的口令。
- 单独为FTP服务创建专用账户,不要用root或admin账户作为FTP用户。
- 开启FTP服务的登录失败锁定机制。
- 如果条件允许,改用SFTP(SSH文件传输协议)替代FTP,SFTP走22号端口,利用SSH加密,安全性远高于传统FTP,云服务器一般默认开通了SSH,所以SFTP开箱即用,无需额外安装FTP服务软件。
如何防止FTP密码被窃取
- 禁用明文FTP:传统FTP传输时,密码是明文传输的,在内网环境下,抓包即可获取账号密码,因此建议在公网环境一律使用SFTP或FTPS。
- 更改默认端口:如果必须保留FTP服务,将21号端口修改为高位端口(如2121),能有效减少扫描攻击。
各场景下FTP账户和密码的常见问题
为什么FTP能连上但无法上传文件
这通常与密码无关,而是权限问题,FTP账户对应的系统目录,其所有者必须与该账户匹配,你需要检查:
# 修改目录归属 chown -R ftpuser:ftpgroup /home/wwwroot/site # 修改目录权限(重要) chmod 755 /home/wwwroot/site
如果是网站运行目录,权限设置不当会导致网页500错误,建议目录设为755,文件设为644。
云服务器搭建网站,FTP账户是必须的吗
不是必须的,如果你熟练使用SSH和命令行,可以通过SCP或SFTP直接管理文件,但FTP的图形化界面操作对新手更友好,而且方便让非技术人员(如网页设计人员)更新网站内容,这就涉及到

服务器ftp账号密码是什么东西的使用边界:它解决的是“多人协作更新网站文件”的问题。
为什么重置密码后,FTP工具还是显示登录失败
排查顺序如下:
- 检查是否在工具中更新了密码。
- 检查工具使用的是主动模式还是被动模式,被动模式下防火墙需要放行传输端口(如30000-30099)。
- 检查FTP服务是否已重启加载新配置。
如果对FTP配置不熟悉,有哪些替代方案
如果觉得FTP配置繁琐且安全性难把控,可以考虑以下替代方案:
- SFTP:直接使用SSH账户,无需额外配置FTP服务,推荐。
- 对象存储:对于纯静态网站,可以上传至COS/OSS等对象存储,无需服务器干预。
- 网盘挂载:部分控制面板提供网盘挂载功能,能实现类似FTP的文件管理体验。
常见问题Q&A
问:Linux服务器上如何快速新建一个FTP账户?
使用vsftpd服务时,通过SSH登录后,将用户添加到/etc/vsftpd/virtual_users.txt文件中,格式为用户名一行、密码一行,然后执行db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db生成数据库即可。
问:FTP账户密码修改后,下次连接为什么提示“530 Login incorrect”?
这通常是因为FTP服务使用的是虚拟用户数据库,你修改了数据库文件,却没有重建对应的哈希数据库文件,或者没有执行mkdb命令,确认客户端没有自动填入旧密码。
问:FTP连接正常,但文件上传到一半就断开,密码是正确的原因吗?
与密码无关,多数情况是FTP被动模式下的数据端口未在防火墙中放行,或者服务器带宽跑满导致连接超时,检查服务器安全组和本地防火墙,确保放行预定义的数据端口范围即可。
