HOME> 南非世界杯排名> 通过sftp/scp/rsync向Linux实例传输文件

通过sftp/scp/rsync向Linux实例传输文件

2025-06-08 21:04:15     南非世界杯排名    

工具介绍&对比特性

SCP

SFTP

Rsync

功能

快速上传/下载单个文件或目录。

交互式文件传输。

支持文件管理。

支持断点续传。

增量同步(仅传输差异部分)。

交互

命令行一次性操作。

支持交互式命令(类似FTP客户端)。

命令行或脚本化操作。

场景

简单快速传输少量文件。

临时传输且无需保留传输进度(如配置文件更新等)。

需要进行文件管理操作。

网络不稳定,需要断点续传功能。

定期备份、大规模数据同步等场景。

需增量传输以节省带宽和时间。

使用限制本地系统限制

实例网络限制

文件大小限制

传输速度限制

文件数量限制

Linux或macOS

需要开通公网IP或EIP

准备工作检查实例状态:只有运行中的实例支持本文操作。

检查实例运行状态

实例运行状态可以在ECS控制台中的实例模块查看,运行中的实例如图所示:

查看实例状态的操作说明,请参见查看实例信息。

获取实例的公网IP地址:在本文操作中需要使用实例的公网IP连接实例。

获取实例公网IP信息

实例的公网IP地址可以在ECS控制台的实例模块查看,如图所示:

查看实例信息的操作说明,请参见查看实例信息。如何开通公网,请参见开通公网。

检查实例所在安全组:使用本文工具向实例传输文件时,需要检查安全组是否已经放通对应工具服务的连接端口(默认22)。

本文操作所需安全组设置

使用配置安全组规则的具体操作,请参见添加安全组规则。

授权策略

优先级

协议类型

端口范围

授权对象

允许

1

自定义TCP

配置为您对应文件传输服务的端口(默认为22)。

配置为您本地计算机的公网地址或IP地址段。

警告 使用0.0.0.0/0,代表所有IP地址均可以连接远程服务端口,该配置存在安全风险,请谨慎使用。

您可以通过https://cip.cc/获取您的本机IP地址。

例如本地计算机IP为118.xxx.xxx.xx8,需完成以下配置。

通过SCP工具传输文件SCP(Secure Copy Protocol)是一种基于SSH(Secure Shell)协议的文件传输协议,它提供了安全的文件传输、复制和管理功能。基本用法如下:

上传文件需要上传文件或文件夹到实例时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。

# 上传单个文件到实例

scp <本地文件路径> <云服务器登录名>@<云服务器公网IP地址>:<实例目录>

# 上传本地目录到实例

scp -r <本地目录> <云服务器登录名>@<云服务器公网IP地址>:<实例目录>下载文件需要从实例下载文件到本地时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。

# 下载单个文件到本地

scp <云服务器登录名>@<云服务器公网IP地址>:<实例文件路径> <本地目录>

# 下载实例目录到本地

scp -r <云服务器登录名>@<云服务器公网IP地址>:<实例目录> <本地目录>示例

将本地的/opt/test.txt文件上传到公网IP为1xx.xxx.xxx.121实例的/home/ecs-user/路径下,可通过以下命令实现:

scp /opt/test.txt ecs-user@1xx.xxx.xxx.121:/home/ecs-user/将公网IP为1xx.xxx.xxx.121实例的/home/ecs-user/test.txt文件下载到本地的/opt/路径下,可通过以下命令实现:

scp ecs-user@1xx.xxx.xxx.121:/home/ecs-user/test.txt /opt/使用SCP时指定端口

SCP默认使用的是SSH协议的22端口,如果您修改了SSH服务的端口,可以在执行命令时,通过-P参数指定端口,命令如下:

# 上传单个文件到实例,并指定SSH端口

scp -P <本地文件路径> <云服务器登录名>@<云服务器公网IP地址>:<实例目录>使用SCP时指定私钥文件(密钥对认证)

如果您为实例绑定了密钥对,在连接实例时可以通过-i参数指定私钥文件,命令如下:

scp -i <私钥文件路径> <本地文件路径> <云服务器登录名>@<云服务器公网IP地址>:<实例目录>通过SFTP工具传输文件SFTP(SSH File Transfer Protocol)是基于SSH协议的交互式文件传输工具,支持文件管理、断点续传等特性。具体操作步骤如下:

1. 连接云服务器实例在本机终端,输入以下命令连接云服务器ECS实例。

sftp <云服务器实例登录名>@<云服务器实例公网IP地址>如图所示,连接成功后显示如下内容。

示例

例如使用ecs-user连接公网IP为1xx.xxx.xxx.121的实例时,可以使用以下命令:

sftp ecs-user@1xx.xxx.xxx.121使用SFTP连接实例时指定端口

如果您修改了SFTP服务的端口,在连接实例时可以通过-P参数指定实例SFTP服务的端口,命令如下:

sftp -P <端口> <云服务器登录名>@<云服务器公网IP地址>使用SFTP连接实例时指定私钥文件(密钥对认证)

如果您为实例绑定了密钥对,在连接实例时可以通过-oIdentityFile参数指定私钥文件,命令如下:

sftp -oIdentityFile=<私钥文件路径> <云服务器登录名>@<云服务器公网IP地址>2. 上传/下载文件从本地上传文件或整个目录到实例# 上传单个文件

sftp> put <本地文件> <实例目录>

# 上传整个目录

sftp> put -r <本地目录> <实例目录>从实例下载文件或整个目录到本地# 下载单个文件

sftp> get <实例文件> <本地目录>

# 下载整个目录

sftp> get -r <实例目录> <本地目录>示例

将本机/opt/test.txt文件上传至实例的/home/ecs-user/目录下:

sftp> put /opt/test.txt /home/ecs-user将本机/opt/test/目录上传至实例的/home/ecs-user/目录下:

sftp> put -r /opt/test/ /home/ecs-user/将实例的/home/ecs-user/test.txt文件下载至本机的/opt目录下:

sftp> get /home/ecs-user/test.txt /opt将实例的/home/ecs-user/test/目录下载至本地的/opt目录下:

sftp> get -r /home/ecs-user/test/ /opt3. 断点续传(传输中断时使用)当大文件传输中断时,可使用 reget和 reput替换步骤2中的get和put命令,继续传输文件:

# 继续上传

sftp> reput <本地文件> <实例目录>

# 继续下载

sftp> reget <实例文件> <本地目录>4. 断开连接当完成传输任务后,可以通过quit或bye命令退出SFTP。

sftp> quit

sftp> bye通过Rsync工具传输文件rsync是一个用于Linux/Unix系统的文件同步和传输工具。使用该工具,可以实现将本地文件上传到实例,或从实例下载文件到本地,此外,rsync还支持目录同步功能,rsync工具的安装及使用步骤如下:

1. 安装工具首先您需要在本地和远程服务器上安装rsync,rsync的安装方式如下:

Alibaba Cloud Linux 3/2sudo yum install -y rsync CentOS 8/7/6sudo yum install -y rsync Ubuntu/Debiansudo apt install -y rsync 2. 使用rsync上传/下载文件上传单个文件当需要上传文件到实例时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。

rsync -avz -e ssh <本地文件或文件夹路径> <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例目录>下载单个文件当需要从实例下载文件到本地时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。

rsync -avz -e ssh <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例文件或文件夹路径> <本地目录>同步本地某个目录到ECS实例(上传目录)当需要从本地将整个文件夹上传(或同步到)实例时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。

rsync -avz -e ssh <本地文件夹路径> <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例目录>同步ECS实例的某个目录到本地(下载目录)当需要从实例将整个文件夹下载(或同步到)本地时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。

rsync -avz -e ssh <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例文件夹路径> <本地目录>示例

将/opt/test.txt文件上传至公网IP为1xx.xxx.xxx.121实例的/home/ecs-user目录下,可使用以下命令:

rsync -avz -e ssh /opt/test.txt ecs-user@1xx.xxx.xxx.121:/home/ecs-user将本地/opt/test目录,与公网IP为1xx.xxx.xxx.121实例的/home/ecs-user/test目录同步,可使用以下命令:

rsync -avz -e ssh /opt/test/ ecs-user@1xx.xxx.xxx.121:/home/ecs-user/test使用Rsync时指定端口

如果需要指定SSH服务的端口,可以通过修改-e参数来指定端口,命令如下:

rsync -avz -e "ssh -p " <本地文件夹路径> <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例目录>使用Rsync时指定私钥文件(密钥对认证)

如果您为实例绑定了密钥对,您可以通过密钥对认证身份,可以通过修改-e参数来指定私钥文件路径,命令如下:

rsync -avz -e "ssh -i <私钥文件路径>" <本地文件夹路径> <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例目录>相关文档上传文件至ECS后,您可以对重要文件进行备份。具体操作,请参见创建快照。

本文操作仅支持从本地Linux或macOS系统上传文件到Linux实例,或从Linux实例下载文件到本地Linux或macOS,如果您需要上传文件到Windows实例,可使用其他文件传输方式,请参见选择传输文件的方式。

如果需要从本机Windows系统向Linux实例传输文件,可以使用WinSCP工具完成文件传输操作,WinSCP支持切换SCP或SFTP协议,具体操作,请参见在本地Windows使用WinSCP向Linux实例传输文件。

您还可以通过对象存储OSS来存储和管理文件。详细操作,请参见OSS快速入门。