云计算百科
云计算领域专业知识百科平台

Windows 本地文件上传到 Linux 服务器的完整实践(scp/ssh),以及常见踩坑总结

记录一次从 Windows 本地向 Linux 服务器上传文件的完整过程,以及过程中遇到的典型坑(尤其是“用户名误判”问题),希望能帮到后来者。


一、问题背景

  • 本地环境:Windows 10 / Windows 11

  • 服务器环境:Linux(Ubuntu)

  • 使用场景:

    • 深度学习 / 模型训练

    • 将本地数据集、配置文件上传到服务器

本地文件示例

C:\\Users\\user\\Desktop\\train_data.jsonl
C:\\Users\\user\\Desktop\\images\\

服务器信息(示例,已脱敏)

服务器 IP:192.168.10.25

服务器目标目录(示例)

/data/project-a/model-train/
/data/project-a/datasets/images/


二、最容易踩坑的一步:确认服务器“真实用户名”

❗ 一个非常常见的误区

服务器目录名 ≠ 登录用户名

例如你可能看到服务器上有这样的路径:

/data/project-a

⚠️ 这只是目录名,并不代表你的登录用户名是 project-a。


✅ 正确做法:在服务器上查看真实用户名

在你已经成功登录服务器的终端中,执行:

whoami

示例输出:

user01

👉 说明你当前真正的登录用户是 user01。

辅助确认命令:

id
echo $HOME


三、使用 scp 上传单个文件(Windows → Linux)

1️⃣ scp 基本格式

scp 本地文件路径 用户名@服务器IP:服务器目录


2️⃣ 实际可用示例(已脱敏)

scp C:\\Users\\user\\Desktop\\train_data.jsonl user01@192.168.10.25:/data/project-a/model-train/

执行后输入服务器密码即可。


3️⃣ 在服务器上验证是否上传成功

ls -lh /data/project-a/model-train/train_data.jsonl


四、上传整个目录(如图片数据集)

✅ 推荐方式:递归上传整个目录

scp -r C:\\Users\\user\\Desktop\\images user01@192.168.10.25:/data/project-a/datasets/

上传完成后,服务器目录结构为:

/data/project-a/datasets/images/*.jpg


服务器端验证

ls /data/project-a/datasets/images | head

统计文件数量:

ls /data/project-a/datasets/images | wc -l


五、过程中遇到的典型坑与解决方案

❌ 坑 1:误把服务器目录名当作用户名

错误示例:

scp train_data.jsonl project-a@192.168.10.25:/data/project-a/

表现:

  • 密码明明正确

  • 但始终提示:

    Permission denied, please try again.

✅ 根本原因:
真实用户名是 user01,而不是 project-a。

✔ 正确做法:

whoami


❌ 坑 2:scp / sftp 看起来“像是被禁用了”

表象:

  • scp、sftp、ssh 反复 Permission denied

  • 调整各种参数仍无效

实际原因:

用户名错误导致所有认证失败,并非服务被禁用。


❌ 坑 3:Windows PowerShell 的路径与通配符问题

  • Windows 路径必须写完整:

    C:\\Users\\user\\Desktop\\images

  • PowerShell 不支持 Bash 风格:

    *. {jpg,png}


❌ 坑 4:看到服务器路径就“想当然”

这是非常典型的误判:

/data/project-a

  • 这是路径

  • 不是账号

  • ssh / scp 只关心用户名


六、经验总结(强烈建议收藏)

  • 第一步永远是:

    whoami

  • scp 使用的用户名必须与 whoami 一致

  • 服务器目录名 ≠ 登录用户

  • Windows 自带的 scp 已完全够用

  • 大多数 Permission denied 本质都是 身份不匹配


  • 七、结语

    这次问题的根源并不复杂,但由于用户名理解错误,导致后续排错方向不断跑偏,浪费了大量时间。

    希望这篇文章能帮助你在:

    • Windows → Linux 文件传输

    • 深度学习服务器使用

    • ssh / scp 实战场景

    中 少踩坑、快定位、一次成功。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Windows 本地文件上传到 Linux 服务器的完整实践(scp/ssh),以及常见踩坑总结
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!