scp 网间拷贝
scp 是 secure copy 的缩写,是一个基于 SSH 协议的安全文件复制工具,可以在本地与远程主机之间或两台远程主机之间传输文件。以下是对 scp 指令的详细介绍:
- 基本语法:
- 从本地复制到远程:
scp [选项] 本地文件或目录 用户@远程主机:远程路径
,例如scp file1.txt user@remote:/path/to/destination/
。 - 从远程复制到本地:
scp [选项] 用户@远程主机:远程文件或目录 本地路径
,例如scp user@remote:/path/to/source/file1.txt /local/destination/
。
- 从本地复制到远程:
- 常用选项:
-r
:递归复制目录。-P
:指定远程主机的 SSH 端口。-i
:指定私钥文件。-C
:启用压缩。-q
:静默模式,抑制输出。-p
:保留文件原来的修改时间、访问时间以及权限模式。-v
:详细模式,scp 和 ssh 将会打印出处理过程中的调试信息。
- 进阶用法:
- 批量传输文件:可以一次传输多个文件,如
scp file1.txt file2.txt user@remote:/path/to/destination/
。 - 限制带宽:使用
-l
限制传输速率,单位为 kbps,如scp -l 500 file1.txt user@remote:/path/to/destination/
。
- 批量传输文件:可以一次传输多个文件,如
- 配置免密登录:
- 生成 SSH 密钥对:在本地机器上使用
ssh-keygen -t rsa
命令生成 SSH 密钥对。 - 将公钥传输到远程主机:使用
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host
命令将公钥添加到远程主机的~/.ssh/authorized_keys
文件中。
- 生成 SSH 密钥对:在本地机器上使用