linux 登录ftp服务器
- 云服务器
- 2025-08-22
- 8
准备工作
确认FTP服务器信息
在登录之前,需要获取以下关键信息:
| 参数 | 说明 | 示例值 |
|————–|———————————————————————-|———————-|
| 主机名/IP | 目标FTP服务器的域名或IP地址 | ftp.example.com |
| 端口号 | 默认通常为21,但部分服务器可能使用非标准端口(如被动模式下的其他端口范围)| 21 |
| 用户名 | 用于身份验证的账号 | user123 |
| 密码 | 对应账号的访问凭证(若支持密钥认证则替换为私钥路径) | |
| 连接模式 | 主动模式(Active)或被动模式(Passive),根据防火墙策略选择 | 推荐被动模式 |
安装FTP客户端工具(以Linux本地命令行为例)
大多数Linux发行版已预装ftp或lftp命令行工具,若未安装,可通过包管理器补充:

- Debian/Ubuntu系:sudo apt install ftp 或 sudo apt install lftp
- RHEL/CentOS系:sudo yum install ftp 或 sudo yum install lftp
- 注:lftp功能更强大(支持断点续传、多线程等),推荐优先使用。
使用命令行工具登录FTP服务器
方法1:基础ftp命令流程
- 启动交互式会话
输入命令并回车:ftp [主机名/IP]
示例:ftp ftp.example.com
- 响应提示输入用户名
系统显示 Name (ftp.example.com:anonymous):,此时输入你的账号(如user123),按回车。
- 输入密码完成验证
接着提示 Password:,输入对应密码(输入时不会显式展示字符),再次回车,若成功,将进入FTP交互界面(提示符变为ftp>)。
- 常用操作指令示例
| 命令 | 功能 | 示例 |
|—————|————————–|——————————-|
| dir | 列出远程当前目录文件列表 | dir → 查看服务器端内容 |
| ls | 同dir(部分客户端兼容) | |
| cd remote_path | 切换远程工作目录 | cd /uploads → 进入上传文件夹 |
| lcd local_path| 切换本地存储路径 | lcd ~/Downloads → 设置下载位置|
| get filename| 下载单个文件到本地 | get report.pdf |
| mget .txt | 批量下载所有TXT文件 | mget .txt |
| put localfile| 上传本地文件到服务器 | put data.csv |
| mput .jpg | 批量上传所有JPG图片 | mput .jpg |
| bye/quit | 退出FTP会话 | |
方法2:lftp高效管理(推荐)
lftp支持彩色输出、历史记录和更灵活的配置,步骤如下:
- 直接连接并指定参数
一次性完成登录(避免交互式提问):

示例:lftp -u user123,mypasswd -p 21 ftp.example.com

- 自动补全与快捷操作
- Tab键可自动补全路径或文件名;
- 输入set net:maximum-parallel-connections 5可开启多线程传输;
- 使用箭头键调出历史命令重新执行。
- 被动模式强制启用(突破内网限制)
若遇到连接超时错误,添加参数 -P 强制使用被动模式: lftp -P -u user123,mypasswd ftp.example.com
常见问题排查指南
现象 可能原因 解决方法 “Connection refused” 端口未开放/防火墙拦截 检查服务器是否监听该端口(netstat -tuln | grep 21);联系管理员放行IP “530 Not logged in” 用户名或密码错误 重置密码;确认是否区分大小写 “425 Can’t open data connection” 主动模式被NAT阻挡 切换为被动模式(lftp中执行 set passive mode yes) 传输速度过慢 带宽限制/并发数不足 调整lftp的并行连接数(set net:maximum-parallel-connections N)
相关问题与解答
Q1:如何安全保存FTP密码避免明文输入?
A:可以使用~/.netrc文件存储认证信息(仅当前用户可读),创建/编辑该文件并添加如下内容:
machine ftp.example.com login user123 password mypasswd
之后直接运行ftp ftp.example.com会自动读取配置完成登录,无需手动输入密码。注意:务必设置文件权限为chmod 600 ~/.netrc防止泄露。
Q2:为什么有时能登录但无法列出目录?
A:可能是权限不足导致,联系服务器管理员确认该账号对目标目录是否有读权限;或检查是否误操作进入了系统保护目录(如/etc),可通过quote site chmod 755 /target/path尝试修改目录权限(需