SCP (Secure Copy Protocol) 和 PEM (Privacy Enhanced Mail) 是两种不同的技术,但在 Linux 系统中可以结合使用。以下是它们的应用案例和典型场景:
SCP 是基于 SSH 的文件传输协议,用于在本地和远程系统之间安全地复制文件。
bash
scp /path/to/local/file user@remote:/path/to/remote/directory
如果远程服务器使用 PEM 格式的私钥进行认证(常见于 AWS EC2 等云服务),可通过 -i
指定密钥:
scp -i ~/.ssh/your-key.pem file.txt ec2-user@example.com:/home/ec2-user/
PEM 是一种编码格式,常用于存储证书、私钥等安全材料(如 .pem
, .crt
, .key
文件)。
nginx
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
bash
ssh -i ~/.ssh/key.pem user@host
kubeconfig
、AWS CLI 的密钥文件。# 从远程服务器下载文件(使用 PEM 密钥)
scp -i ~/.ssh/aws-key.pem ubuntu@ec2-ip:/remote/path/file.txt /local/path/
# 上传文件到远程服务器
scp -i ~/.ssh/aws-key.pem /local/path/file.txt ubuntu@ec2-ip:/remote/path/
bash
tar czvf backup.tar.gz /data
openssl enc -aes-256-cbc -in backup.tar.gz -out backup.enc
bash
scp -i ~/.ssh/backup-key.pem backup.enc backup-user@remote-server:/backups/
在持续集成工具(如 Jenkins/GitLab CI)中,通过 PEM 密钥和 SCP 部署构建产物:
deploy:
script:
- scp -i $DEPLOY_KEY.pem ./dist/* user@production-server:/var/www/html/
600
:
bash
chmod 600 ~/.ssh/key.pem
rsync over SSH
或 sftp
)取代,但在简单场景中仍广泛使用。-----BEGIN CERTIFICATE-----
或 -----BEGIN PRIVATE KEY-----
开头。如果需要更复杂的传输逻辑(如增量同步),建议改用 rsync
或 sftp
。