告别FileZilla!Ubuntu22.04命令行玩转SFTP:从上传下载到批量操作
在Linux生态中,文件传输从来都不是什么新鲜事,但真正高效的方式往往藏在命令行里。当大多数用户还在依赖图形化工具时,熟练的开发者早已通过命令行将SFTP操作融入日常工作流。Ubuntu 22.04作为当前LTS版本,其OpenSSH套件提供了完整的SFTP支持,从简单的单文件传输到复杂的批量操作,命令行不仅能完成所有任务,还能通过脚本实现自动化——这正是专业工作流的精髓所在。
1. 基础环境配置与连接管理
1.1 OpenSSH服务验证与增强
虽然Ubuntu 22.04默认安装了OpenSSH客户端,但完整的SFTP功能需要服务端支持。通过以下命令确认安装状态:
# 检查SSH服务状态
systemctl status ssh
# 若未安装,执行以下命令
sudo apt update && sudo apt install openssh-server -y
现代OpenSSH默认集成SFTP子系统,无需单独安装。但安全加固是必要步骤:
# 备份原始配置文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
# 修改关键参数
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
1.2 多模式连接实战
命令行连接远比图形界面灵活。以下是几种常用连接方式:
# 基础连接(默认22端口)
sftp username@hostname
# 指定非标准端口
sftp -P 2222 username@hostname
# 使用密钥认证(推荐)
sftp -i ~/.ssh/id_ed25519 username@hostname
# 批量脚本中的无交互连接
sftp -b commands.txt username@hostname
连接后的基础操作指令对照表:
| 操作类型 | 远程命令 | 本地命令(加l前缀) |
|---|---|---|
| 查看路径 | pwd |
lpwd | <


5186

被折叠的 条评论
为什么被折叠?



