在本地Windows使用WinSCP向Linux实例传输文件

更新时间:2025-01-21 07:27:56
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

如果您的本地主机为Windows系统,您可以安装WinSCP工具后,使用该工具远程连接Linux系统的ECS实例,以可视化的方式进行文件的上传和下载操作。

什么是WinSCP?

WinSCPWindows系统向Linux系统传输文件的一个客户端工具,使用WinSCP可以实现在本地与远程计算机之间安全地复制文件。与使用FTP上传代码相比,通过WinSCP可以直接使用服务器账户密码访问服务器,无需在服务器端做任何配置。

适用场景

  • 上传文件:Windows系统向Linux系统的实例上传文件。

  • 下载文件:下载Linux系统实例的文件到Windows系统。

使用限制

  • 文件大小:不限制。

  • 传输速度限制:无限制。

  • 文件数量限制:无限制。

  • 网络限制:实例需具备公网IPEIP。

重要

WinSCP工具仅可以安装在Windows系统中,如果您本机为LinuxmacOS系统,可以采用其他方式完成文件传输操作,请参见选择传输文件的方式

准备工作

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

    检查实例运行状态

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

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

    image

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

    获取实例公网IP信息

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

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

    image

  • 检查实例所在安全组:使用WinSCP向实例传输文件时,需要检查安全组是否已经放通SCPSFTP的连接端口(默认22)。

    本文操作所需安全组设置

    本文操作使用WinSCP工具,通过SFTP协议向Linux实例传输文件,需要在实例所在安全组入方向放开SFTP功能的端口(默认为22)。配置安全组规则的具体操作,请参见添加安全组规则

    授权策略

    优先级

    协议类型

    端口范围

    授权对象

    允许

    1

    自定义TCP

    配置为您的SFTP服务端口(默认为22)。

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

    警告

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

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

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

    image

操作步骤

重要

如果您需要向实例上传大文件或者大量文件,您可以在上传之前,先将文件压缩成一个压缩包后再上传,这样做可以增加传输效率。具体操作,请参见压缩文件后上传

步骤一:使用WinSCP连接实例

  1. 在本地Windows主机上下载并安装WinSCP客户端。

    具体操作,请参见WinSCP官网

  2. 打开WinSCP工具,会自动弹出登录对话框。

  3. 会话区域,完成以下配置。

    image

    具体配置项说明如下:

    • 文件协议:选择SFTPSCP

    • 主机名:Linux云服务器的公网IP地址。

    • 端口号:默认为22

    • 用户名:登录云服务器的用户名,默认为root

    • 密码:购买Linux云服务器设置的密码。

      说明

      如果忘记Linux云服务器的密码,可以重置密码。具体操作,请参见重置实例登录密码

      如何使用密钥登录(设置密钥)

      如果您使用密钥作为登录凭证,您可以参考以下方式设置密钥。

      1. 会话区域,单击高级(A)

      2. 在弹出的高级站点设置对话框中,单击左侧导航栏SSH > 验证。在密钥文件(K)区域,上传Linux实例对应的密钥文件,然后单击确定

        image

      3. 之后无需输入密码即可登录实例。

    完成配置后您可以点击保存,保存该实例的连接信息,之后在连接该实例时无需重新配置。

  4. 单击登录

    进入WinSCP文件传输界面。

步骤二:上传或下载文件

进入WinSCP文件传输界面后,左侧的目录代表本地的文件目录,右侧的目录代表云服务器ECS实例的文件目录。

  • 上传文件到ECS实例

    将文件从左侧拖拽到右侧目录即可实现将文件上传到ECS实例

    2025-01-08_14-34-26 (2)

  • 下载文件到本地

    将文件从右侧目录拖拽到左侧目录代表从ECS实例下载文件到本地。

    2025-01-08_14-38-05 (1)

常见问题

如何使用sudo权限向某个目录传输文件?(例如ecs-user如何使用上传功能)

如果您使用非root用户登录实例,比如ecs-user,对于某些目录需要sudo权限才能访问,此场景下需要在连接实例时完成以下配置操作:

  1. 获取云服务器ECS实例的sftp-server的位置。

    1. 选择合适的方式登录实例。

      本示例以使用Workbench登录实例为例,具体操作,请参见使用Workbench工具以SSH协议登录Linux实例
    2. 在命令行中输入以下命令,查看sftp-server的位置

      sudo cat /etc/ssh/sshd_config |grep -i sftp-server

      所需位置信息如图所示。

      image

  2. WinSCP连接实例设置登录信息时,在高级中配置SFTP服务器。

    1. 单击高级,进入高级站点设置页面。

    2. SFTP中配置SFTP服务器。

      sudo su -c <步骤1中获取的sftp-server的位置>

      例如本示例中sftp-server的位置为/usr/libexec/openssh/sftp-server,需要在该选项中输入以下配置内容。

      sudo su -c /usr/libexec/openssh/sftp-server
    3. 单击确定后继续登录实例。

    image

使用WinSCP传输比较慢或不稳定

使用WinSCP上传文件时,相当于直接从您的本地传输数据到实例,中间网络的可能会影响到您的传输速度以及稳定性,您可以尝试切换网络解决该问题。此外,您还可以选择使用对象存储中转的方式传输文件(对象存储内网传输不收流量费),具体操作,请参见使用对象存储中转向实例传输文件

相关文档

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

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

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

  • 本页导读 (1)
  • 什么是WinSCP?
  • 适用场景
  • 使用限制
  • 准备工作
  • 操作步骤
  • 步骤一:使用WinSCP连接实例
  • 步骤二:上传或下载文件
  • 常见问题
  • 相关文档
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等