ftp
命令连接服务器(如ftp ftp.example.com
),输入用户名密码;或使用sftp
(安全传输)或lftp
(功能更强)工具,支持直接带用户名登录:ftp user@host
,或设置别名简化操作。在Linux系统中,快捷登录FTP服务器主要通过命令行工具实现,操作高效且无需图形界面,以下是详细方法及注意事项,涵盖常用工具和最佳实践:
核心工具及登录步骤
使用 ftp
基础客户端
- 安装命令(如未预装):
sudo apt install ftp # Debian/Ubuntu sudo yum install ftp # CentOS/RHEL
- 登录步骤:
ftp ftp.example.com # 连接服务器
输入用户名和密码后进入交互模式,常用命令:
ls
:查看文件get filename
:下载文件put filename
:上传文件bye
:退出连接
使用 lftp
(功能更强大)
- 安装:
sudo apt install lftp # Debian/Ubuntu sudo yum install lftp # CentOS/RHEL
- 快捷登录(支持用户名密码直输):
lftp -u username,password ftp.example.com
高级功能:
- 支持多线程传输:
mirror -P 5 /remote_dir
(5线程下载目录) - 书签管理:登录后输入
bookmark add myserver
,下次用lftp myserver
直连
- 支持多线程传输:
使用 sftp
(基于SSH的安全传输)
- 通过SSH协议加密传输(默认端口22):
sftp username@example.com
操作命令与普通FTP类似,但更安全。
自动化登录(免交互)
使用配置文件存储密码(谨慎操作)
创建 ~/.netrc
文件(权限需设为600):
machine ftp.example.com login your_username password your_password
登录时直接运行:
ftp ftp.example.com # 自动读取凭证
命令行直传文件(非交互模式)
使用 curl
单命令传输:
curl -u username:password -T local_file.txt ftp://ftp.example.com/remote_path/
关键注意事项
-
安全性建议:
- 避免明文传输:优先使用
sftp
或ftps
(FTP over SSL)。 - 不推荐公开密码:若需自动化,用
.netrc
并设置权限chmod 600 ~/.netrc
。
- 避免明文传输:优先使用
-
连接问题排查:
- 被动模式:若连接失败,在
ftp
或lftp
中运行passive on
切换模式。 - 端口指定:非标准端口时添加
-p
参数(如lftp -p 2121 ftp.example.com
)。
- 被动模式:若连接失败,在
-
防火墙设置:
- 开放服务器端口:默认FTP用21端口,SFTP用22端口。
- 客户端放行:
sudo ufw allow out 21/tcp
(允许FTP出站)。
- 基础场景:临时登录用
ftp
或sftp
交互命令。 - 高效传输:批量操作选
lftp
,支持断点续传和并行下载。 - 自动化需求:结合
.netrc
或curl
脚本实现无人值守传输。 - 安全第一:生产环境务必使用加密协议(SFTP/FTPS),避免敏感信息泄露。
引用说明:
- 工具文档:GNU FTP Manual (https://www.gnu.org/software/ftp/)
- 安全实践:OpenSSH SFTP指南 (https://www.openssh.com/manual.html)
- 配置参考:Linux man pages(
man ftp
,man lftp
,man sftp
)
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/28840.html