📋 核心要点
  • scp(secure copy)基于 SSH 在本地与远程主机(或两个远程主机)之间安全传输文件
  • 命令格式 scp [option] source target;复制目录加 -r;自定义端口用 -P(大写)
  • 需要增量拷贝时改用 rsync
  • 带密码传输可用 sshpass -p '密码' scp ...(明文密码,慎用)

以安全的方式在服务器之间复制文件,scp(secure copy) 可以在本地主机和远程主机之间、或两个远程主机之间安全传输文件,属于 SSH 的附加功能。如果需要增量拷贝,用 rsync

Bash
# 命令格式
scp [option] source target

# 复制文件到远程 root/tmp/ 目录下
scp file.txt root@192.168.0.1:/root/tmp/
scp file.txt root@192.168.0.1:/root/tmp/file.txt

# 复制目录加 -r 参数
scp -r ./dir/ root@192.168.0.1:/root/tmp/dir/

# 从远程服务器下载目录
scp -r root@192.168.0.1:/root/tmp/dir/ ./tmp/dir/

# 自定义端口(默认 22,注意是大写 -P)
scp -P 2222 file root@192.168.0.1:/root/tmp

scp 时指定账号和密码

Bash
sshpass -p 'your_password' scp your_local_file username@remote_host:/path/to/destination
  • your_password:目标主机上指定用户的密码。
  • your_local_file:要传输的本地文件路径。
  • username:目标主机上的用户名。
  • remote_host:目标主机的主机名或 IP 地址。
  • /path/to/destination:文件在目标主机上的目标路径。