如何使用scp命令上传本服务器的文件及文件夹到另外一台服务器

步骤 1: 确保scp命令可用

首先,确保你的服务器上安装了scp。在大多数Linux发行版中,scp是随SSH一起安装的,但你可以通过运行以下命令来检查:

scp --version

如果命令返回版本信息,则scp已安装;否则,你可能需要安装openssh-clients包(在RHEL/CentOS/Fedora上)或openssh-client(在Debian/Ubuntu上)。
步骤 2: 准备SSH密钥对

如果两台服务器之间还没有设置无密码SSH登录,你需要生成SSH密钥对并在目标服务器上设置公钥。这可以通过以下命令在本服务器上完成:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

然后,将生成的公钥发送到目标服务器:

ssh-copy-id user@target-server-ip

这里的user应该是目标服务器上的用户名,target-server-ip是目标服务器的IP地址。
步骤 3: 使用scp上传文件

一旦SSH配置完成,你可以使用scp上传文件。例如,如果你想上传一个名为example.txt的文件,你可以使用以下命令:

bash 复制代码
scp example.txt user@target-server-ip:/path/to/target/directory

这里的/path/to/target/directory是目标服务器上的目录路径。
步骤 4: 使用scp上传文件夹

如果你想上传一个目录及其所有内容,需要使用-r选项来递归复制:

bash 复制代码
scp -r source-directory user@target-server-ip:/path/to/target/directory

这里的source-directory是你想上传的目录的完整路径,/path/to/target/directory是目标服务器上的目标目录。

步骤 5: 检查文件和文件夹是否成功上传

在目标服务器上,你可以使用ls命令来检查文件或文件夹是否已成功上传:

bash 复制代码
ssh user@target-server-ip ls /path/to/target/directory

步骤 6: 验证文件完整性

为了确保文件在传输过程中没有损坏,你可以比较源文件和目标文件的MD5或SHA256哈希值:

md5sum source-file

bash 复制代码
ssh user@target-server-ip md5sum /path/to/target/directory/source-file

或者使用SHA256:

sha256sum source-file

bash 复制代码
ssh user@target-server-ip sha256sum /path/to/target/directory/source-file
相关推荐
2603_96514811几秒前
终极清单:构建自动化选品比价系统的所有组件与资源
大数据·运维·数据库·数据挖掘·自动化
可信时间戳几秒前
原创作品如何做版权认证申请?先备材料,再挑路径
服务器·音视频·可信时间戳·权利卫士
北城笑笑1 分钟前
Server 18 ,Nginx 双服务器 HTTP转HTTPS 代理实战( HTTP 地址换 HTTPS 域名 )
运维·服务器·前端·后端·nginx·http·https
程序员-Benothing3 分钟前
Linux磁盘IO性能分析:iostat、iotop、fio实战
linux·运维·服务器
I'mChloe10 分钟前
不再逐台装Docker:我用Ansible Playbook批量统一服务器环境
服务器·docker·ansible
LiaoWL12315 分钟前
从零开始学 Linux(一):目录结构、常用命令与 VIM 编辑器上手
linux·运维·服务器
分布式存储与RustFS27 分钟前
RustFS 上生产第一步:从单机到 4 节点多盘集群(MNMD)部署实操
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
for_ever_love__28 分钟前
LangGraph Checkpointer:持久化、断点续跑与多轮记忆
服务器·数据库·学习·持久化·langgraph·checkpointer·断点续跑
Data analyse45629 分钟前
用户路径SQL按会话起止时间聚合的方法
大数据·服务器·前端·数据库·人工智能·sql·数据分析
我先去打把游戏先1 小时前
Git-Rebase使用指南-从原理到实战
服务器·git·嵌入式硬件·物联网·ubuntu