文件传不过去咋整?SSH上传服务器实战手册
你的文件还在用微信传来传去?每次给服务器传文档都要折腾半小时? 作为一个跟服务器打了十年交道的运维 *** ,今天手把手教你用SSH这把"万能钥匙"轻松传文件。咱们不整那些虚头巴脑的理论,直接上硬核操作!
工具准备:别急着动手,先把家伙什儿备齐
记住喽,工欲善其事必先利其器。 你需要准备两样东西:
- 本地电脑装好SSH客户端:Windows用户推荐PuTTY,Mac/Linux自带终端就行
- 服务器开通SSH服务:找管理员确认这两点:①22端口开放 ②你有登录权限
举个栗子:我徒弟小王上周 *** 活传不上去文件,结果发现服务器SSH端口改成了2222。所以啊,先问清楚端口号比啥都重要!
基础操作:3分钟学会传文件
重点来了! 用scp命令就像用U盘拷贝文件一样简单:
bash复制scp 本地文件路径 用户名@服务器IP:目标路径
实际案例:把桌面的"年度报告.pdf"传到服务器的/home/doc文件夹
bash复制scp /Users/你的名字/Desktop/年度报告.pdf root@192.168.1.100:/home/doc
注意看这几个坑:
- 路径里别带中文(服务器可能不认)
- 传文件夹要加-r参数(就像打包快递)
- 首次连接会出现指纹确认,直接输yes就行
高手进阶:三种姿势任你选
别以为scp就是全部,咱还有更骚的操作!
姿势一:sftp交互模式
适合边传文件边查看目录,就跟操作本地文件夹似的:
bash复制sftp root@192.168.1.100put 本地文件路径 #上传get 远程文件路径 #下载
姿势二:rsync智能同步
传大文件夹就用这个,只传修改过的部分,省时又省力:
bash复制rsync -avz 本地文件夹/ root@192.168.1.100:/目标路径
姿势三:sshfs挂载大法
把服务器文件夹变成电脑本地磁盘,直接拖拽上传:
bash复制sshfs root@192.168.1.100:/远程路径 /本地挂载点
避坑指南:新手必看的血泪教训
这些坑我当年都踩过,现在给你划重点!
问题一:老提示Permission denied
九成是因为文件权限问题,试试这两招:
- 上传前在本地执行
chmod 600 文件名
- 服务器上用
ls -l
检查文件权限
问题二:传一半断网了咋整
用rsync的--partial参数支持断点续传:
bash复制rsync -avz --partial 大文件.zip root@192.168.1.100:/backup
问题三:想传得更安全
建议配置密钥登录(比密码安全100倍):
- 本地生成密钥对:
ssh-keygen -t rsa
- 传公钥到服务器:
ssh-copy-id root@192.168.1.100
个人私货:这些年悟出的门道
说句掏心窝子的话,别盲目追求高级工具。我见过太多新手沉迷学各种GUI工具,结果遇到服务器没图形界面就傻眼。把命令行玩熟了,走到哪都是你的主场。
给三点建议:
- 重要文件传两份:比如同时传到/home和/backup目录
- 定期清理旧文件:用
find
命令设置自动删除30天前的临时文件 - 传完务必验证:对比本地和远程的md5值,命令是
md5sum 文件名
最后说句实在的,技术这东西就是熟能生巧。 刚开始可能觉得命令行吓人,练上十次八次就跟吃饭喝水一样自然。下次再遇到文件传不过去的情况,记得深吸一口气——你的服务器,你做主!