上一篇                     
               
			  sftp如何上传文件?
- 电脑教程
- 2025-06-12
- 3860
 使用sftp命令登录服务器后,执行 
 
 
put 本地文件路径 上传单个文件,或 
 mput 本地文件* 上传多个匹配文件。
SFTP上传文件的详细指南
SFTP(SSH文件传输协议)是一种基于SSH的安全文件传输协议,广泛用于服务器管理、数据备份等场景,相比传统的FTP,它通过加密通道传输数据,有效防止信息泄露,以下详细介绍命令行上传文件的操作方法,涵盖从基础连接到高级批量操作。
SFTP基础连接
在操作前,确保:
- 拥有远程服务器的IP地址、用户名和密码(或SSH密钥)。
- 本地已安装OpenSSH客户端(Linux/macOS默认安装;Windows需安装Git Bash或PuTTY)。
连接服务器命令:
sftp username@remote_server_ip
- 示例:sftp user@192.168.1.100
- 首次连接会提示确认主机密钥,输入yes后按回车。
- 输入密码完成登录(若用密钥,需提前配置)。
上传文件的命令详解
登录成功后,进入SFTP交互模式,常用命令:
| 命令 | 作用 | 
|---|---|
| put [本地文件] | 上传单个文件 | 
| mput [本地文件*] | 批量上传多个文件 | 
| put -r [本地目录] | 递归上传整个目录 | 
| lpwd | 查看本地当前路径 | 
| cd [远程路径] | 切换远程目录 | 
| lcd [本地路径] | 切换本地目录 | 
上传单个文件
sftp> put local_file.txt /remote/path/
- 将本地local_file.txt上传到远程服务器的/remote/path/目录。
- 若省略远程路径,默认上传到远程当前目录。
批量上传多个文件
sftp> mput *.jpg
- 上传所有.jpg文件到远程当前目录。
- 使用mput *.log /var/log/指定远程路径。
上传整个目录(递归上传)
sftp> put -r local_folder /remote/path/
- -r参数表示递归操作,上传- local_folder及其所有子内容。
高效操作技巧
-  指定本地/远程路径 
 上传前切换目录,避免输入长路径: sftp> lcd ~/downloads # 切换到本地下载目录 sftp> cd /var/www/html # 切换到远程Web目录 sftp> put image.png # 直接上传文件 
-  非交互式命令(单行操作) 
 无需登录SFTP交互模式:echo "put local_file.txt /remote/" | sftp -b - user@192.168.1.100 - -b -表示从标准输入读取命令。
 
-  使用SSH密钥免密登录 
 生成密钥对后,上传公钥到服务器:ssh-copy-id user@192.168.1.100 之后使用 sftp命令无需输入密码。
常见问题解决
-  权限拒绝错误  Couldn't create file: Permission denied 原因:远程目录无写入权限。 
 解决:- 检查远程目录权限:ls -ld /remote/path
- 修改权限(需管理员权限):chmod 755 /remote/path
 
- 检查远程目录权限:
-  连接超时或拒绝 Connection timed out / Connection refused 原因:服务器SSH服务未运行、防火墙拦截或IP错误。 
 解决:- 确认服务器IP和SSH端口(默认22)。
- 检查防火墙:sudo ufw allow 22(Ubuntu)。
 
-  文件覆盖提示 
 上传同名文件时,SFTP默认询问是否覆盖。
 强制覆盖:put -f local_file.txt
 禁用提示:sftp -o "StrictHostKeyChecking=no" user@ip(谨慎使用)。 
安全实践建议
- 启用密钥认证:比密码更安全,避免暴力破解。
- 限制用户目录:通过SSH配置ChrootDirectory锁定用户到特定目录。
- 日志监控:定期检查/var/log/auth.log(Linux)追踪SFTP登录记录。
- 使用SCP替代:单文件传输时,scp local.txt user@ip:/path/更高效。
引用说明:
- OpenSSH官方文档:https://www.openssh.com/manual.html
- Linux权限管理参考:《Linux命令行与Shell脚本大全》
- 安全实践建议:基于NIST SP 800-123指南
版权声明:本文基于实践经验编写,转载请注明出处。
 
  
			 
			 
			 
			 
			 
			 
			 
			