Linux SFTP 命令行使用指南,如何在Linux命令行中高效使用SFTP传输文件?,如何在Linux命令行中3步搞定SFTP文件传输?
** ,Linux SFTP(SSH文件传输协议)提供了一种安全高效的文件传输方式,通过命令行使用SFTP时,首先通过sftp username@host
连接远程服务器,输入密码或使用SSH密钥认证,常用命令包括:put
上传本地文件到远程,get
下载远程文件到本地,ls
查看远程目录,lls
查看本地目录,cd
切换远程路径,lcd
切换本地路径,支持通配符(如mput *.txt
批量上传)和递归传输目录(put -r
),退出时输入exit
或quit
,为提高效率,可结合scp
或rsync
进行批量同步,或通过公钥认证避免重复输入密码,SFTP在保证数据加密的同时,简化了命令行文件管理操作。
SFTP协议核心解析
SFTP(SSH File Transfer Protocol)是基于SSH协议的安全文件传输工具,采用加密通道进行数据传输,相比传统FTP具有以下优势:
- 数据全程AES加密传输,避免嗅探风险
- 默认集成在SSH服务中(端口22),无需额外配置
- 支持公钥认证机制,安全性远超FTP密码认证
- 完整的文件权限管理和目录操作功能
连接方式全解析
1 基础连接方法
sftp username@server_ip # 使用默认SSH端口(22) sftp user@example.com # 连接域名主机
2 高级连接参数
参数 | 作用 | 示例 |
---|---|---|
-P |
指定非标准端口 | sftp -P 2222 user@host |
-i |
使用密钥认证 | sftp -i ~/.ssh/id_rsa user@host |
-v |
显示详细连接过程 | sftp -v user@host |
-C |
启用压缩传输 | sftp -C user@host |
文件操作命令大全
1 本地文件管理(前缀l
)
lls # 列出本地文件 lpwd # 显示本地当前路径 lcd ~/docs # 切换本地目录 lmkdir temp # 创建本地文件夹
2 远程服务器操作
cd /var/www # 切换远程目录 mkdir uploads # 创建远程目录 chmod 755 script.sh # 修改文件权限 df -h # 查看磁盘空间(需服务器支持)
3 文件传输命令对比
操作类型 | 单文件命令 | 批量操作命令 |
---|---|---|
上传文件 | put local_file |
mput *.jpg |
下载文件 | get remote_file |
mget log_*.txt |
目录传输 | put -r local_dir |
get -r remote_dir |
高阶应用场景
1 自动化批量传输
#!/bin/bash # 自动备份脚本 sftp -b /dev/stdin user@backup_server <<EOF put /var/log/nginx/*.log mkdir /backup/$(date +%F) put db_backup.sql /backup/$(date +%F)/ EOF
2 断点续传方案
sftp> reget large_file.zip # 续传下载 sftp> reput bigdata.tar.gz # 续传上传
3 传输优化技巧
# 启用压缩+限速传输(1MB/s) sftp -C -o LimitRate=1024 user@host # 后台持续传输(配合nohup) nohup sftp -b batch_commands.txt user@host &
安全强化指南
1 认证安全
# 生成ED25519密钥对 ssh-keygen -t ed25519 -f ~/.ssh/sftp_key # 密钥连接示例 sftp -o "IdentitiesOnly yes" -i ~/.ssh/sftp_key user@host
2 传输审计
# 启用详细日志记录 sftp -o LogLevel=DEBUG -o LogFile=/var/log/sftp_audit.log user@host
3 防火墙配置建议
# 限制SFTP访问IP(示例) iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP
故障排查手册
1 常见错误解决方案
错误现象 | 解决方案 |
---|---|
中文乱码 | 添加-o Charset=utf8 参数 |
连接超时 | 使用-o ConnectTimeout=60 |
权限拒绝 | 检查~/.ssh/authorized_keys 权限应为600 |
主机验证失败 | 删除~/.ssh/known_hosts 对应记录 |
2 调试模式启用
sftp -vvv user@problem_host 2> debug.log
版本更新说明
- 新增ED25519密钥认证方案
- 补充防火墙配置建议
- 增加传输速率控制参数
- 优化命令表格对比展示
- 添加自动化脚本示例
- 完善调试诊断方法
- 所有图片保留来源声明
本指南适用于:
- Linux系统管理员
- 运维工程师
- 需要安全传输敏感数据的用户
- 自动化部署开发人员
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理!
部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!