远程服务器文件上传方法
SCP(Secure Copy)
适用场景:命令行操作、中小文件传输、需加密传输
步骤:
# 从本地上传文件到远程服务器 scp /本地/文件路径 用户名@服务器IP:/远程/目录/ # 示例:将本地的 report.pdf 上传到远程 /home/user/docs/ scp ~/report.pdf user@192.168.1.100:/home/user/docs/
注意:
- 需替换
用户名
、服务器IP
和目录路径 - 首次连接需确认主机密钥(输入
yes
) - 使用
-P
指定非默认 SSH 端口(如scp -P 2222 ...
)
SFTP(SSH File Transfer Protocol)
适用场景:交互式操作、需目录管理、大文件分步传输
步骤:
# 连接服务器 sftp 用户名@服务器IP # 上传文件(支持拖拽操作) put /本地/文件路径 /远程/目录/ # 示例:上传本地 backup.zip 到远程 /var/backups/ sftp> put ~/backup.zip /var/backups/
常用命令:
ls
查看远程目录cd
切换远程目录lcd
切换本地目录exit
退出
rsync(增量同步工具)
适用场景:大文件/目录同步、断点续传、带宽优化
# 同步本地目录到远程(保留权限、显示进度) rsync -avzP --partial /本地/目录/ 用户名@服务器IP:/远程/目录/ # 示例:同步本地 ~/website/ 到远程 /var/www/ rsync -avzP ~/website/ user@192.168.1.100:/var/www/
参数说明:
-a
:归档模式(保留属性)-v
:显示详细过程-z
:压缩传输-P
:显示进度和断点续传
FTP/FTPS(不推荐)
适用场景:仅限内网环境、兼容旧系统
步骤:
- 在 Linux 安装 FTP 服务端(如
vsftpd
) - 使用 FileZilla 等客户端连接(需开放 21 端口)
风险提示:明文传输不安全,建议优先使用 SFTP/SCP。
本地 Linux 文件上传方法
图形化工具(推荐新手)
- FileZilla(跨平台):
输入服务器 IP、SSH 端口、用户名/密码,拖拽文件到右侧远程窗口。 - Nautilus/Files(GNOME):
按Ctrl+L
输入sftp://用户名@服务器IP
直接挂载远程目录。
U 盘/移动硬盘
# 插入设备后查看设备名 lsblk # 挂载到目录(如 /mnt) sudo mount /dev/sdb1 /mnt # 复制文件 cp /mnt/文件 ~/目标目录 # 卸载设备 sudo umount /mnt
云存储/网页工具
- 云服务商控制台(如 AWS S3、阿里云 OSS):
通过网页控制台直接上传,使用aws s3 cp
或ossutil
命令行同步。 - 临时文件传输:
- Python 快速启 HTTP 服务:
python3 -m http.server 8000 # 本地启动 wget http://本地IP:8000/文件 # 远程下载
- 使用
transfer.sh
等临时网盘:curl --upload-file 文件名 https://transfer.sh
- Python 快速启 HTTP 服务:
安全与权限注意事项
- 密钥认证:
用 SSH 密钥替代密码(生成密钥:ssh-keygen
,上传公钥:ssh-copy-id user@IP
)。 - 文件权限:
上传后检查权限:chmod 600 敏感文件.conf # 仅所有者可读写 chown user:group 文件 # 修正属主
- 防火墙设置:
确保开放 SSH 端口(默认 22)或自定义端口:sudo ufw allow 2222/tcp # Ubuntu 示例
总结建议
- 日常小文件:优先选
SCP
或SFTP
(命令行高效)。 - 大文件/目录同步:用
rsync
节省带宽和时间。 - 新手友好:图形化工具(FileZilla)或云控制台。
- 安全底线:避免 FTP,始终使用 SSH 加密传输(SCP/SFTP),定期更新密钥。
引用说明参考 Linux 官方文档(kernel.org)、OpenSSH 手册(openssh.com)及 rsync 最佳实践指南(rsync.samba.org),操作前请确保您拥有目标系统的合法权限。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9787.html