通过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
如果您为实例绑定了密钥对,在连接实例时可以通过-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
如果您为实例绑定了密钥对,您可以通过密钥对认证身份,可以通过修改-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快速入门。