什么是WinSCP?
WinSCP是Windows系统向Linux系统传输文件的一个客户端工具,使用WinSCP可以实现在本地与远程计算机之间安全地复制文件。与使用FTP上传代码相比,通过WinSCP可以直接使用服务器账户密码访问服务器,无需在服务器端做任何配置。
适用场景
使用限制
文件大小:不限制。
传输速度限制:无限制。
文件数量限制:无限制。
网络限制:实例需具备公网IP或EIP。
重要 WinSCP工具仅可以安装在Windows系统中,如果您本机为Linux或macOS系统,可以采用其他方式完成文件传输操作,请参见选择传输文件的方式。
操作步骤
重要 如果您需要向实例上传大文件或者大量文件,您可以在上传之前,先将文件压缩成一个压缩包后再上传,这样做可以增加传输效率。具体操作,请参见压缩文件后上传。
步骤一:使用WinSCP连接实例
在本地Windows主机上下载并安装WinSCP客户端。
具体操作,请参见WinSCP官网。
打开WinSCP工具,会自动弹出登录对话框。
在会话区域,完成以下配置。

具体配置项说明如下:
文件协议:选择SFTP或SCP。
主机名:Linux云服务器的公网IP地址。
端口号:默认为22。
用户名:登录云服务器的用户名,默认为root。
密码:购买Linux云服务器设置的密码。
说明 如果忘记Linux云服务器的密码,可以重置密码。具体操作,请参见重置实例登录密码。
如何使用密钥登录(设置密钥)
如果您使用密钥作为登录凭证,您可以参考以下方式设置密钥。
在会话区域,单击高级(A)。
在弹出的高级站点设置对话框中,单击左侧导航栏。在密钥文件(K)区域,上传Linux实例对应的密钥文件,然后单击确定。

之后无需输入密码即可登录实例。
完成配置后您可以点击保存,保存该实例的连接信息,之后在连接该实例时无需重新配置。
单击登录。
步骤二:上传或下载文件
进入WinSCP文件传输界面后,左侧的目录代表本地的文件目录,右侧的目录代表云服务器ECS实例的文件目录。
常见问题
如何使用sudo权限向某个目录传输文件?(例如ecs-user如何使用上传功能)
如果您使用非root用户登录实例,比如ecs-user,对于某些目录需要sudo权限才能访问,此场景下需要在连接实例时完成以下配置操作:
获取云服务器ECS实例的sftp-server的位置。
选择合适的方式登录实例。
本示例以使用Workbench登录实例为例,具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
在命令行中输入以下命令,查看sftp-server的位置
sudo cat /etc/ssh/sshd_config |grep -i sftp-server
所需位置信息如图所示。

在WinSCP连接实例设置登录信息时,在高级中配置SFTP服务器。
单击高级,进入高级站点设置页面。
在SFTP中配置SFTP服务器。
sudo su -c <步骤1中获取的sftp-server的位置>
例如本示例中sftp-server的位置为/usr/libexec/openssh/sftp-server,需要在该选项中输入以下配置内容。
sudo su -c /usr/libexec/openssh/sftp-server
单击确定后继续登录实例。

使用WinSCP传输比较慢或不稳定
使用WinSCP上传文件时,相当于直接从您的本地传输数据到实例,中间网络的可能会影响到您的传输速度以及稳定性,您可以尝试切换网络解决该问题。此外,您还可以选择使用对象存储中转的方式传输文件(对象存储内网传输不收流量费),具体操作,请参见使用对象存储中转向实例传输文件。
相关文档
上传文件至ECS后,您可以对重要文件进行备份。具体操作,请参见创建快照。
本文操作仅支持从本地Windows系统上传文件到Linux实例,或从Linux实例下载文件到本地Windows,如果您需要上传文件到Windows实例,请使用其他文件传输方式,请参见选择传输文件的方式。
您还可以通过对象存储OSS来存储和管理文件。详细操作,请参见OSS快速入门。