scp传输文件

一、传到服务器 B(账号+密码登录)

服务器信息

  • IP:11.22.33.44
  • 用户:root
  • 密码:12345678
  • 端口:1234
  • 本地文件:a.txt
  • 目标路径:/root/test/

❗标准 scp 命令

scp  -P 1234 a.txt root@11.22.33.44:/root/test/

⚠️关键点(很重要)

scp 不能直接在命令里写密码

👉 服务器返回需要输入密码:

root@11.22.33.44's password:

然后手动输入:

12345678

二、传到服务器 C(使用密钥 s.key)

服务器信息

  • IP: 55.66.77.88
  • 用户:root
  • 密钥:s.key
  • 端口:1234
  • 文件:a.txt
  • 目标路径:/root/test/

❗标准 scp(指定私钥)

scp -P 1234 -i s.key a.txt root@55.66.77.88:/root/test

🔥如果 key 需要权限修复(常见问题)

chmod 600 s.key

🚀更完整写法(推荐)

scp -P 1234 -i s.key -o StrictHostKeyChecking=no a.txt root@55.66.77.88:/root/test/

限制速率目标:5 MB/s

换算:

5 MB/s
= 5 × 8 = 40 Mbps
= 40000 Kbit/s

普通密码登录版本

scp -l 40000 a.txt root@11.22.33.44:/root/test

2️⃣ 指定密钥版本

scp -i s.key -l 40000 a.txt root@55.66.77.88:/root/test

⭐ rsync 限速(推荐)

限速单位:KB/s(更直观)

5 MB/s = 5120 KB/s
rsync -avz --bwlimit=5120 a.txt root@11.22.33.44:/root/test

⭐ rsync + key

rsync -avz -e "ssh -i s.key" --bwlimit=5120 a.txt root@55.66.77.88:/root/test