ShareX FTP上传需正确配置连接参数与传输模式:一、图形界面手动配置主机、端口、账号及被动模式;二、导入FileZilla XML配置;三、修改UploadersConfig.json注入FTP参数;四、SFTP密钥认证替代明文传输;五、按日志、路径、端口、响应逐项排查失败原因。

如果您在使用ShareX进行截图后希望自动将图片上传至FTP服务器,但发现上传失败或配置项缺失,则可能是由于FTP连接参数未正确设置或传输模式不匹配。以下是实现ShareX FTP上传的多种具体配置方法:
一、通过图形界面手动配置FTP服务器
该方式适用于单次快速部署,无需外部配置文件,所有参数在ShareX内置窗口中直接填写,便于调试与验证连接状态。
1、打开ShareX主程序,点击顶部菜单栏的Destinations → FTP/SFTP → Manage FTP servers。
2、在弹出窗口中点击Add按钮,新建一个FTP服务器条目。
3、在“Host”字段输入您的FTP服务器地址(例如:ftp.example.com 或 IP 地址)。
4、在“Port”字段填写端口号,默认为21;若使用FTPS则建议设为990,SFTP则为22。
5、在“Username”和“Password”字段分别填入有效登录凭据。
6、勾选Passive mode(被动模式),以适配多数NAT/防火墙环境;如服务器明确要求主动模式,则取消勾选。
7、点击Test Connection按钮,确认状态显示“Connection successful”。
8、点击OK保存配置,并返回目标设置页,将Image upload默认目标切换为此FTP条目。
二、导入XML格式FTP配置文件
该方式适合批量管理多个FTP服务器,或从FileZilla等客户端迁移已有配置,避免重复录入错误。
1、在FileZilla中导出站点管理器配置:打开FileZilla → 站点管理器 → 导出配置 → 保存为sitemanager.xml。
2、确保该XML文件包含以下必需节点:<Host>、<Port>、<User>、<Pass>、<PasvMode>。
3、启动ShareX,进入Destinations → FTP/SFTP → Manage FTP servers。
4、点击窗口右下角的Import按钮,选择已导出的sitemanager.xml文件。
5、ShareX将自动解析并创建对应服务器条目,逐条检查用户名、密码与端口是否完整映射。
6、对每一条导入记录执行Test Connection,失败项需单独修正XML中对应节点后再重新导入。
三、使用自定义JSON配置文件加载FTP参数
该方式基于ShareX底层配置机制,通过修改UploadersConfig.json文件直接注入FTP服务器定义,适用于自动化部署与多账号隔离场景。
1、关闭ShareX进程,前往配置目录:%APPDATA%\ShareX\。
2、备份原始UploadersConfig.json文件。
3、用文本编辑器打开该文件,在"FTP"数组内插入如下结构(注意逗号分隔与JSON语法有效性):
```json
{"Name":"MyProductionServer","Host":"prod-ftp.company.net","Port":21,"Username":"deploy","Password":"a1b2c3d4","PassiveMode":true,"UseSSL":false,"Path":"/uploads/screenshots/"}```
4、保存文件后重启ShareX,进入Destinations → FTP/SFTP → Manage FTP servers,确认新条目已列出。
5、若未显示,请检查JSON格式是否合法,重点验证引号闭合、逗号位置及布尔值小写(true/false而非True/False)。
6、选中该条目,点击Test Connection完成最终验证。
四、配置SFTP协议替代传统FTP提升安全性
当目标服务器支持OpenSSH且禁用明文FTP时,必须改用SFTP协议,其底层基于SSH加密通道,可规避凭证泄露风险。
1、确认服务器已启用SSH服务并开放22端口,且用户具备对应shell访问权限。
2、在ShareX的Manage FTP servers窗口中,点击Add,选择协议类型为SFTP(非FTP或FTPS)。
3、填写Host、Port(固定为22)、Username;Password字段可留空,若使用密钥认证则继续下一步。
4、勾选Use private key authentication,点击右侧Browse选择本地PEM格式私钥文件(如id_rsa)。
5、若私钥受密码保护,需在Private key password字段中输入对应口令。
6、点击Test Connection,成功后保存配置并绑定至图像上传目标。
五、调试FTP上传失败的常见排查路径
当测试连接成功但实际截图上传仍失败时,问题往往出在路径权限、被动模式端口范围或服务器目录结构上,需按顺序验证。
1、检查FTP服务器日志(如vsftpd的/var/log/vsftpd.log),确认是否有553 Could not create file或550 Permission denied报错。
2、在ShareX的FTP配置中,于“Path”字段明确指定上传子目录(例如:/screenshots/),避免根目录写入限制。
3、若使用被动模式,登录服务器检查vsftpd.conf中是否设置了pasv_min_port与pasv_max_port,并在云服务商安全组中放行对应端口区间。
4、在ShareX任务历史中查看失败任务详情,复制完整HTTP/FTP请求与响应内容,比对是否出现425 Can't open data connection类错误。
5、临时切换为主动模式测试,若此时上传成功,则可断定为被动模式端口未开放或NAT映射异常。

















