scpSecure Copy Protocol(安全复制协议)的缩写,它是一个基于 SSH 加密传输的命令行工具,用于在本地计算机和远程服务器之间安全地复制文件和目录。以下是关于 scp 的详细说明:


1. 核心功能

  • 加密传输:通过 SSH 协议加密数据,防止敏感信息泄露。

  • 跨系统操作:支持 Linux/Unix、macOS 和 Windows(需安装 OpenSSH)。

  • 双向传输

    • 上传本地文件到远程服务器。

    • 从远程服务器下载文件到本地。


2. 基本语法

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

常用选项

选项 作用
-r 递归复制整个目录
-P 端口号 指定 SSH 端口(默认 22)
-i 密钥文件 使用指定的 SSH 私钥
-v 显示详细传输日志
-C 启用压缩传输

3. 使用示例

(1) 上传文件到远程服务器

scp local_file.txt root@123.45.67.89:/remote/path/
  • 将本地的 local_file.txt 上传到服务器 123.45.67.89/remote/path/ 目录。

(2) 下载远程文件到本地

scp root@123.45.67.89:/remote/file.txt /local/path/

  • 从服务器下载 file.txt 到本地的 /local/path/

(3) 递归上传整个目录

scp -r my_folder/ root@123.45.67.89:/remote/path/
  • 上传 my_folder 目录及其所有子文件。

(4) 使用非标准端口和密钥

scp -P 2222 -i ~/.ssh/id_ed25519 file.txt user@host:/path/
  • 通过 2222 端口和指定密钥上传文件。


4. 安全性注意事项

  1. 避免使用 root 用户

    scp file.txt deploy@host:/path/  # 使用普通用户
  2. 保护密钥文件

    • 设置密钥权限为 600

      chmod 600 ~/.ssh/id_ed25519
      
  3. 验证服务器指纹

    • 首次连接时会提示确认服务器指纹,需核对以防中间人攻击。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐