使用 SCP 命令在 Windows 与 Linux 系统间传输文件
概述
SCP (Secure Copy Protocol) 基于 SSH 协议,用于在计算机之间安全地传输文件。相比图形化界面工具,SCP 命令更适合自动化脚本、批量操作及服务器环境下的无头传输。
准备工作
Windows 端配置
Windows 10/11 默认可能未开启 OpenSSH 客户端。
- 打开'设置' > '应用' > '可选功能'。
- 点击'添加功能',搜索'OpenSSH 客户端'并安装。
- 确认 PowerShell 可用:输入
ssh --version检查是否识别。
Linux 端配置
大多数 Linux 发行版已预装 OpenSSH 服务端。若需从 Linux 传回 Windows,确保 Linux 端的 SSH 服务运行正常:
sudo systemctl status sshd
如未运行,执行 sudo systemctl start sshd。
场景一:从 Windows 传输到 Linux
传输单个文件
语法:scp [本地路径] [用户名@IP]:[远程路径]
示例:
scp D:\Code\Python\train.txt [email protected]:/home/whq/whq_code/Python
首次连接会提示确认指纹,输入 yes 即可。
传输文件夹
使用 -r 参数递归传输目录。
scp -r D:\Code\Python\PaddleSeg\PaddleSeg\Images\TestImages_200 [email protected]:/home/whq/whq_code/Python/PaddleSeg/Images
场景二:从 Linux 传输到 Windows
安装 OpenSSH 服务器
在 Windows 上启用 OpenSSH 服务器功能:
- 进入'设置' > '应用' > '可选功能'。
- 添加'OpenSSH 服务器'并安装。
- 启动服务:
Start-Service sshd。 - 设置开机自启:
Set-Service -Name sshd -StartupType 'Automatic'。
传输命令
同样在 PowerShell 中执行。 单个文件:
scp [email protected]:/home/whq/whq_code/Python/val.txt D:/Code/Python/
文件夹:
scp -r [email protected]:/home/whq/whq_code/Python/PaddleSeg/output/result/mobilNetV3/ D:/Code/Python/PaddleSeg/PaddleSeg/output/result/Result_2023.8.28/
常见问题与优化
指定端口
若 SSH 服务非默认 22 端口,使用 -P 参数:
scp -P 2222 file.txt user@host:/path


