1. SFTP协议基础与适用场景
SFTP(SSH File Transfer Protocol)作为SSH协议栈中的文件传输组件,在Ubuntu系统中扮演着重要角色。与传统的FTP协议相比,SFTP通过加密通道传输数据,默认使用22端口,避免了明文传输的安全隐患。我在管理服务器集群时,90%的文件传输场景都会优先选择SFTP方案。
典型应用场景包括:
- 跨网络的安全文件交换
- 自动化脚本中的加密文件传输
- 受限网络环境下的数据传输(如仅开放SSH端口的情况)
- 需要文件权限管理的场景(保持Linux文件属性)
注意:虽然SFTP名称包含"FTP",但其实现与FTP协议完全不同,不需要额外安装FTP服务端。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Ubuntu环境配置指南
2.1 服务端配置
Ubuntu系统默认使用OpenSSH提供SFTP服务,验证是否安装:
bash复制ssh -V
若未安装,执行以下命令:
bash复制sudo apt update
sudo apt install openssh-server
关键配置文件位于/etc/ssh/sshd_config,建议修改以下参数:
conf复制Subsystem sftp /usr/lib/openssh/sftp-server
PasswordAuthentication yes
ChrootDirectory %h # 限制用户只能访问自己的家目录
AllowUsers your_username
修改后重启服务:
bash复制sudo systemctl restart sshd
2.2 客户端准备
Linux/macOS系统已内置sftp客户端,Windows用户推荐使用:
- FileZilla(图形界面)
- WinSCP(支持脚本化操作)
- 内置OpenSSH的PowerShell(Win10+)
3. 核心操作全解析
3.1 命令行基础操作
连接远程服务器:
bash复制sftp username@remote_host
常用命令对照表:
| 本地操作 | 远程操作 | 功能说明 |
|---|---|---|
| lls |
