准备工作
-
必备信息
- 服务器IP地址(如
168.1.100
) - SSH端口(默认22,若修改需确认)
- 用户名(如
root
或普通用户) - 认证方式:密码或SSH密钥(推荐密钥)
注:密钥需提前配置到~/.ssh/authorized_keys
- 服务器IP地址(如
-
本地环境检查
5种上传方法详解
方法1:SCP命令(命令行推荐)
适用场景:快速上传单个文件或目录,基于SSH加密。
操作步骤:
# 上传文件 scp -P 22 /本地/文件.txt 用户名@服务器IP:/目标路径/ # 上传目录(加 -r 参数) scp -r -P 22 /本地/目录 用户名@服务器IP:/目标路径/
注意:
- 若端口为22,可省略
-P 22
- 使用密钥:
scp -i ~/.ssh/私钥文件 ...
方法2:SFTP(交互式安全传输)
适用场景:需浏览服务器目录或批量上传。
操作步骤:
- 连接服务器:
sftp -P 22 用户名@服务器IP
- 常用命令:
put /本地/文件.txt
→ 上传文件put -r /本地/目录
→ 上传目录cd /服务器路径
→ 切换目录ls
→ 查看文件exit
→ 退出
方法3:rsync(增量同步)
适用场景:大文件或需同步更新的场景(仅传输差异部分)。
操作步骤:
rsync -avz -e "ssh -p 22" /本地/目录/ 用户名@服务器IP:/目标路径/
参数说明:
-a
:归档模式(保留权限)-v
:显示进度-z
:压缩传输
方法4:图形化工具(FileZilla)
适用场景:适合不熟悉命令行的用户。
操作步骤:
- 下载安装 FileZilla
- 顶部输入栏填写:
- 主机:
sftp://服务器IP
- 用户名/密码
- 端口:22
- 主机:
- 左侧(本地)拖拽文件 → 右侧(服务器目录)
方法5:FTP(传统协议,需提前配置)
适用场景:服务器已安装FTP服务(如vsftpd)。
操作步骤:
- 服务器安装vsftpd:
sudo apt install vsftpd # Ubuntu/Debian sudo yum install vsftpd # CentOS
- 本地使用FTP客户端(如WinSCP)连接:
- 协议选
FTP
- 输入IP、端口21、用户名/密码
- 协议选
安全与权限管理
-
传输安全
- 优先使用 SCP/SFTP/rsync(基于SSH加密)
- 避免FTP明文传输,若必须用,启用 FTPS(FTP over SSL)
-
文件权限设置
上传后检查权限:# 设置文件所有者 chown 用户名:组名 /路径/文件 # 设置权限(例如仅用户可写) chmod 644 /路径/文件 # 文件 chmod 755 /路径/目录 # 目录
常见问题解决
-
权限拒绝(Permission denied)
检查目标目录权限:ls -ld /目标路径
,或用sudo
临时提权上传。 -
连接超时
确认防火墙放行端口:sudo ufw allow 22 # 开放SSH端口
-
密钥认证失败
确保本地私钥权限为600
:chmod 600 ~/.ssh/私钥文件
-
磁盘空间不足
查看服务器空间:df -h # 检查磁盘使用 du -sh /目标目录 # 查看目录大小
方法对比与选择建议
方法 | 安全性 | 易用性 | 适用场景 |
---|---|---|---|
SCP | 快速上传小文件 | ||
SFTP | 交互式目录管理 | ||
rsync | 大文件/增量同步 | ||
FileZilla | 图形化操作 | ||
FTP | 仅限内网环境 |
专业建议:
- 日常使用 → FileZilla(图形化) 或 SCP(命令行)
- 自动化脚本 → rsync
- 敏感数据 → 必须用 SSH协议(SCP/SFTP) + 密钥认证
引用说明:
- OpenSSH文档:https://www.openssh.com/manual.html
- FileZilla官方指南:https://wiki.filezilla-project.org/
- Linux权限管理:Red Hat系统管理手册(2025版)
原创声明:本文基于Linux运维实践编写,遵循安全优先原则,实际操作前请备份数据,修改配置建议在测试环境验证。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/21588.html