首页 >> 行业资讯 > 宝藏问答 >

问linuxscp 命令详解 远程安全拷贝传输教程

2026-11-08 22:29:47

答

linux scp 命令全称 Secure Copy,是基于 SSH 协议的安全远程文件复制工具,依靠 SSH 加密通道完成本地和远程服务器之间的文件、目录传输,传输过程数据加密,相比传统 ftp 安全性更高,运维日常上传下载配置文件、备份包、日志文件最常用,scp 底层复用 SSH 认证机制,可以使用密码登录,也支持 SSH 密钥免密登录,支持本地推送到远程,也支持远程拉取到本地,还支持跨两台远程服务器互传,学习的时候先掌握基础语法、常用参数、推拉两种模式,理解端口、递归目录、权限保留等核心选项,同时区分 scp 和 rsync 差异,排查端口不通、权限报错、主机指纹告警等常见故障,就可以熟练使用 linux scp 命令完成跨主机文件传输。

一 基础原理

scp 依赖 ssh 服务,目标主机必须开启 sshd 服务,默认 SSH 端口是 22,认证方式和 ssh 登录一致,传输全程加密,适合中小型文件快速传输,大文件断点续传能力弱,大体积批量文件推荐 rsync。

二 基础语法

scp [选项] 源路径 目标路径

两种核心模式

1 本地 → 远程(推送)

scp 本地文件 用户 @远程 IP: 远程目录

2 远程 → 本地(拉取)

scp 用户 @远程 IP: 远程文件 本地目录

基础示例

scp test.tar.gz root@192.168.1.100:/data/

scp root@192.168.1.100:/var/log/messages ./

三 核心参数对照表

参数作用说明
r递归复制整个目录,传输文件夹必加,高频参数
P指定 SSH 端口,注意是大写 P,默认 22 不用写
p保留原文件修改时间、访问时间、权限属性
C传输开启压缩,网络带宽差的时候加速传输
i指定私钥文件,密钥免密登录场景使用
l限制传输带宽,单位 Kbit/s,防止占满业务带宽
vverbose 详细调试输出,排错的时候使用
o传递 ssh 额外选项,比如 StrictHostKeyChecking=no 跳过主机指纹确认

重点区分:大写 P 是端口,小写 p 是保留属性,新手非常容易写反

四 常用实操示例

1 递归上传整个目录

scp -r /opt/app root@192.168.1.100:/opt/

2 远程端口不是 22,指定端口传输

scp -P 2222 test.zip root@192.168.1.100:/tmp/

3 使用私钥免密传输

scp -i ~/.ssh/id_rsa file.tar root@192.168.1.100:/backup/

4 开启压缩传输

scp -C bigfile.iso root@192.168.1.100:/data/

5 跨两台远程服务器互传

scp root@192.168.1.100:/data/a.tar root@192.168.1.101:/data/

6 跳过主机指纹确认,脚本自动化使用

scp -o StrictHostKeyChecking=no file root@192.168.1.100:/tmp/

五 scp 和 rsync 核心区别

对比项scprsync
协议SSH 加密SSH 或者 rsync daemon
断点续传不支持中断续传支持断点续传
增量同步全量传输只同步差异部分,增量
适用场景小文件快速拷贝大文件、大批量目录同步
重复传输每次全部重传重复传输只传变化内容

六 常见报错与排查

1 Permission denied 权限拒绝

远程目标目录没有写权限,或者账号密码 / 密钥认证失败

2 Connection refused 连接拒绝

远程 sshd 没有启动,或者 SSH 端口修改,防火墙 / 安全组拦截端口

3 Host key verification failed 主机指纹校验失败

主机密钥变更,自动化脚本可以使用 StrictHostKeyChecking=no 跳过,生产环境谨慎关闭指纹校验

4 No such file or directory

源文件路径写错,或者远程目录不存在,远程目录需要提前创建

5 传输目录忘记加 r 参数

报错 not a regular file,传输文件夹必须加 - r 递归参数

七 注意事项

1 传输大文件中途断线,scp 不会断点续传,需要重新完整传输

2 密钥免密配置成功之后,scp 不需要重复输入密码,适合自动化脚本

3 云服务器除了系统防火墙,还要确认云安全组放行 SSH 端口

4 递归传输的时候,注意源目录末尾斜杠,带斜杠是复制目录内内容,不带斜杠是连同目录本身一起复制

【常见问题】

问题 1 linux scp 命令大写 P 和小写 p 分别是什么

回答 1 linux scp 大写 P 是指定远程 SSH 端口,linux scp 小写 p 是保留文件原始权限和时间属性,linux scp 这两个参数非常容易混淆。

问题 2 linux scp 传输文件夹为什么报错

回答 2 linux scp 传输目录必须添加 r 递归参数,linux scp 默认只拷贝普通单文件,不加 r 会提示 not a regular file。

问题 3 linux scp 支持断点续传吗

回答 3 linux scp 本身不支持断点续传,linux scp 传输中断之后需要重新完整传输,大文件增量同步推荐改用 rsync 替代 linux scp。

问题 4 linux scp 跨服务器互传是什么写法

回答 4 linux scp 支持两台远程主机之间直接拷贝,格式 scp 用户 @源 IP: 源文件 用户 @目标 IP: 目标目录,linux scp 跨机传输同样支持 r 递归参数。

问题 5 linux scp 提示 Connection refused 怎么排查

回答 5 linux scp 连接拒绝优先检查远程 sshd 服务是否启动,核对 SSH 端口号,同时排查 linux scp 经过的防火墙和云安全组是否放行对应端口。

【免责申明】

本文为 linux scp 命令技术教程,传输涉及跨主机访问,请遵守网络安全规范,不同发行版 scp 参数基本一致,大文件批量同步建议评估 rsync 方案,内容仅用于技术学习参考。

 

相关阅读

最新文章