WinSCP 常见问题
收录中文用户遇到最多的二十来个问题,覆盖安装、连接、传输、编码与自动化。
连接失败排查清单
连不上服务器时,按下面六步从外到内逐层排除,基本都能定位到原因。
-
确认主机可达
在本机命令行执行
ping 服务器IP;再用Test-NetConnection 服务器IP -Port 22(PowerShell)确认端口是否通。不通就是网络或防火墙问题。 -
核对协议与端口
SFTP/SCP 用 22,FTP 用 21,FTPS 用 990,WebDAV/S3 用 80 或 443。协议选错会直接报「连接被拒绝」。
-
检查安全组与防火墙
云服务器(阿里云、腾讯云、AWS 等)需要在控制台安全组放行对应端口;服务器本机的 firewalld / iptables / ufw 也要放通。
-
确认服务在运行
SFTP 依赖 sshd,FTP 依赖 vsftpd 等服务端。可在服务器上执行
systemctl status sshd查看状态。 -
核对账号与认证方式
确认用户名密码正确、该用户允许 SSH 登录(检查
/etc/ssh/sshd_config中的 AllowUsers / PermitRootLogin)、私钥路径与格式是否正确。 -
开启日志定位
在 WinSCP「偏好设置 → 日志」开启日志,重新连接后查看日志里的具体报错,再针对性搜索或到 官方论坛 提问。
高频问答
WinSCP 是免费的吗?有没有广告或捆绑软件?
完全免费,采用 GPL-3.0 开源协议发布,官方安装包不含广告、不含任何第三方捆绑。项目由作者 Martin Přikryl 自 2000 年起维护,源码托管在 GitHub,任何人都可以审计。它曾获 SourceForge 月度项目、CHIP 与 Softpedia 等媒体好评。
WinSCP 有 macOS 或 Linux 版本吗?
没有。WinSCP 官方仅提供 Windows 版本,作者也未发布跨平台计划。macOS 用户可选用 Cyberduck、FileZilla 或 Transmit;Linux 用户可使用 FileZilla 或命令行 scp、rsync。
SFTP 和 FTP 该怎么选?
优先选 SFTP。SFTP 基于 SSH 加密通道,密码与数据全程加密,只需开放 22 端口,还支持断点续传与权限管理。传统 FTP 是明文传输,公网环境下账号密码可能被窃听,只有服务器不支持 SSH 时才考虑,且至少应启用 FTPS。
如何把界面切换成简体中文?
菜单栏选择「选项 → 首选项」(Options → Preferences),左侧点击「语言 / Language」,选择「简体中文」,确定后重启 WinSCP 即可生效。新版安装包通常已默认为中文界面。
提示 Permission denied 权限被拒绝怎么办?
说明当前登录用户对该目录没有写权限。可改用有权限的用户登录;或在服务器上用 chown 把目录属主改为该用户,或用 chmod 放开写入权限。需要操作系统级目录时用 sudo 提权,但不建议直接用 root 做日常传输。
中文文件名或文件内容乱码怎么解决?
文件名乱码通常是两端编码不一致:在站点「高级 → 环境 → 文件名 UTF-8 编码」中切换「开启 / 关闭」,取与服务器一致的设置。文件内容乱码则是编码问题:用内置编辑器打开时选择正确编码(通常为 UTF-8),保存时保持同一编码;老项目可能还在使用 GBK,需要对应选择。
连接时提示主机密钥不匹配是怎么回事?
表示服务器的主机密钥与本地缓存的指纹不一致。若服务器确实重装过系统或更换过 SSH 密钥,确认安全后可删除旧指纹重新接受。若服务器并未变更,则可能是中间人攻击,应立即中止连接并向管理员核实。
传输大文件中断后能续传吗?
可以。SFTP 与 FTP 协议下 WinSCP 默认尝试断点续传,重传同名文件时会从断点继续。若想强制从头开始,可在传输设置中关闭续传。注意 SCP 协议不支持续传,大文件建议改用 SFTP。
会话经常自动断开,如何保持长连接?
在站点「高级 → 连接」中缩短「保持连接」的发送间隔,例如设为每 30 秒发送一次空包。同时检查服务器端 ClientAliveInterval 与 TCPKeepAlive 配置,路由器或防火墙的空闲连接超时同样可能导致断开。
便携版和安装版有什么区别?
便携版是 8 MB 的 zip 包,解压后直接运行 WinSCP.exe,不写注册表、不留系统残留,配置可跟随目录放在 U 盘,适合在客户机或机房临时使用。安装版会创建开始菜单快捷方式、文件关联与卸载入口,日常自用更方便。
怎样保存服务器密码,下次不用重复输入?
在登录窗口点击「保存」并勾选「保存密码」即可。WinSCP 会用主密码对保存的密码加密,建议同时设置主密码。更推荐改用 SSH 私钥认证,安全性更高且便于脚本自动化,配置步骤见 使用教程。
怎样让 WinSCP 定时自动备份文件?
把操作写成脚本,用 winscp.com /script=xxx.txt 执行,再交给 Windows 任务计划程序按计划触发。具体脚本与 .bat 示例见 使用教程 · 脚本自动化。
能用 WinSCP 直接打开服务器终端吗?
可以。在已连接的会话中按 Ctrl+P,或选择「命令 → 在 PuTTY 中打开」,前提是本机装有 PuTTY 且在 WinSCP 首选项中配置了 PuTTY 路径。
WinSCP 支持哪些 Windows 系统?
稳定版 6.5 系列支持 Windows 11 / 10 / 8.1 / 8 / 7,32 位与 64 位均可,无需额外安装 .NET Framework。测试中的 6.6 版本已不再支持 Windows 7 及更早系统。
编辑远程文件后会自动上传吗?
会。使用内置编辑器(右键「编辑」)打开文件并保存时,WinSCP 会自动把修改后的内容上传到服务器覆盖原文件。若选择「编辑方式 → 用外部编辑器打开」,则需手动确认上传。
WinSCP 和 FileZilla 哪个好?
取决于需求。Windows 上做服务器文件管理、需要脚本自动化与目录同步,WinSCP 更顺手,体积也更小;需要在 macOS / Linux 上同样使用,则 FileZilla 的跨平台优势更明显。详见 首页的对比表。
上传后文件时间戳变了,怎么保留?
在「偏好设置 → 传输 → 通用」中勾选「保留时间戳」,或在单次传输的选项对话框里开启。这样跨机器同步代码时不会出现文件时间错乱,也便于增量备份按时间比对。
脚本里如何避免明文密码?
推荐使用 SSH 私钥认证(-privatekey 参数或站点配置),并用 -hostkey 固定主机指纹以避免交互弹窗。若必须用密码,可通过环境变量注入,或结合主密码机制,切勿把密码提交到代码仓库。
出现「Network error: Software caused connection abort」怎么解决?
多由网络不稳定或防火墙中断空闲连接引起。可开启「保持连接」、改用 SFTP 并启用续传、关闭传输压缩,或在网络环境更好的时段重试。企业网络下还可能是代理或深包检测策略导致,需联系网络管理员。
站点配置保存在哪里?换电脑怎么迁移?
默认保存在注册表 HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2。可在「偏好设置 → 存储」改为 INI 文件。导出注册表项或复制该 INI 文件,即可在新机器上恢复全部站点。
还没找到答案?可以到 WinSCP 官方论坛 提问,或查阅 官方文档。也可以先看一遍 使用教程,很多问题其实是配置顺序不对。