通过SFTP/SCP上传或下载文件(本地主机为Linux或macOS)

如果您的本地主机是Linux或macOS操作系统,云服务器ECS为Linux操作系统,可通过SFTP或SCP将本地文件上传到ECS,或将ECS上的文件下载到本地主机。

什么是SFTP或SCP?两者有什么区别?

SFTP(SSH File Transfer Protocol,SSH文件传输协议)和SCP(Secure Copy,安全拷贝)是两种用于安全文件传输的协议,均使用SSH协议来传输文件。两者的主要区别如下:

对比项

SFTP

SCP

传输速度

比SCP慢

比SFTP更快

断点续传

支持

不支持

使用方式

图形化界面、命令行

命令行

扩展性

删除或重命名文件等操作

仅支持传输文件

适用场景

前提条件

  • ECS实例状态为运行中

  • 获取ECS实例的对外公网IP地址。

    说明

    若您的ECS实例未实现公网通信,可绑定弹性公网IP。具体操作,请参见绑定EIP

  • ECS实例所在安全组入方向已开放22端口。具体操作,请参见添加安全组规则

SFTP命令上传或下载文件/文件夹

  1. 在终端上远程连接云服务器ECS。

    sftp [云服务器登录名]@[云服务器公网IP地址]
  2. 上传或下载文件/文件夹。

    # 上传文件/文件夹到云服务器ECS
    put -r 本地主机文件/文件夹的绝对路径 云服务器文件保存根目录
    
    # 下载文件/文件夹到本地主机
    get -r 云服务器文件/文件夹的绝对路径 本地主机文件保存根目录

    示例:

    # 将本地文件/users/file.txt上传至ECS的/home/ecs-user目录下
    put -r /users/file.txt /home/ecs-user
    
    # 将ECS的/home/ecs-user目录下file.txt下载至本地路径/users下
    get -r /home/ecs-user/file.txt /users

SCP命令上传或下载文件/文件夹

# 上传本地文件/文件夹到云服务器
scp -r 本地文件/文件夹的绝对路径 云服务器用户名@云服务器实例公网IP地址:云服务器文件保存根目录

#下载文件/文件夹到本地主机
scp -r 云服务器用户名@云服务器实例公网IP地址:云服务器文件/文件夹的绝对路径 本地主机文件保存根目录

示例:

# 将本地文件/home/test001.txt上传至公网IP地址为121.40.XX.XX的云服务器的/home目录下
scp -r /home/test001.txt root@121.40.XX.XX:/home

# 将公网IP地址为121.43.XX.XX的云服务器的/home/test001.txt下载到本地主机的/home目录下
scp -r root@121.43.XX.XX:/home/test001.txt /home

相关文档

  • 上传文件至ECS后,您可以对重要文件进行备份。具体操作,请参见创建一个云盘快照

  • 如需上传本地文件至Windows ECS实例,请参见上传或下载文件(Windows)

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

  • 更多SFTP和SCP命令,可执行命令man sftpscp --help获取。