You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sublime Text SFTP连接Ubuntu EC2实例超时问题排查

Sublime Text SFTP连接Ubuntu EC2实例超时问题处理

故障基础信息

  • 运行环境:本地Windows环境,远端为Ubuntu操作系统的EC2实例
  • 异常表现:相同网络、相同密钥配置下,FileZilla可正常连接实例,Sublime Text SFTP插件连接超时,报错如下:
Connecting to SFTP server "ec2 ip" as "ubuntu" ......................... failure (Connection timeout)
  • 初始故障配置sftp-config.json内容:
{
    "type": "sftp",
    "host": "ec2 ip",
    "user": "ubuntu",
    "remote_path": "/home/ubuntu",
    "ssh_key_file": "C:/Users/example/keypair/keypair.ppk",
    //"password": "password",
    "port": "22",

    "remote_path": "/example/path/",
    "ignore_regexes": [
        "\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
        "sftp-settings\\.json", "/venv/", "\\.svn/", "\\.hg/", "\\.git/",
        "\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini"
    ],
    //"file_permissions": "664",
    //"dir_permissions": "775",

    //"extra_list_connections": 0,

    "connect_timeout": 30,
    //"keepalive": 120,
    //"ftp_passive_mode": true,
    //"ftp_obey_passive_host": false,
    //"sftp_flags": ["-F", "/path/to/ssh_config"],

    //"preserve_modification_times": false,
    //"remote_time_offset_in_hours": 0,
    //"remote_encoding": "utf-8",
    //"remote_locale": "C",
    //"allow_config_upload": false
}

排查思路

  • 配置合法性校验:检查JSON格式是否合法,是否存在重复字段、字段类型错误问题。原配置中remote_path重复定义两次,port字段错误使用字符串类型,均会导致配置加载异常
  • 密钥兼容性校验:Sublime Text SFTP插件依赖原生OpenSSH客户端能力,不支持PuTTY生成的.ppk格式私钥,仅支持OpenSSH格式私钥;而FileZilla原生兼容PPK格式密钥,这是两类工具连接结果差异的核心诱因
  • 网络连通性校验:本地执行telnet <EC2公网IP> 22确认22端口可达,排除本地防火墙、实例安全组、网络ACL拦截22端口的问题
  • 服务端状态校验:通过EC2控制台登录实例,执行systemctl status sshd确认SSH服务运行正常,查看/var/log/auth.log日志确认连接请求是否到达实例,判断故障点在本地侧还是服务端侧

解决方案

  1. 转换私钥格式
    打开PuTTYgen工具,导入现有.ppk格式密钥,点击顶部菜单栏Conversions-Export OpenSSH key,将私钥导出为OpenSSH格式(建议命名为keypair.pem),保存到原密钥存放目录。
  2. 修正配置文件
    删除重复的remote_path字段,将port字段改为数值类型,将ssh_key_file路径指向新导出的OpenSSH格式私钥,修正后的最小可用配置参考:
{
    "type": "sftp",
    "host": "替换为EC2实例实际公网IP",
    "user": "ubuntu",
    "remote_path": "/home/ubuntu",
    "ssh_key_file": "C:/Users/example/keypair/keypair.pem",
    "port": 22,
    "ignore_regexes": [
        "\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
        "sftp-settings\\.json", "/venv/", "\\.svn/", "\\.hg/", "\\.git/",
        "\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini"
    ],
    "connect_timeout": 30
}
  1. 调整私钥权限
    右键点击导出的keypair.pem文件,选择属性-安全,移除所有无关用户的访问权限,仅保留当前Windows登录用户的读取权限,避免OpenSSH因私钥权限过宽拒绝读取密钥。
  2. 重启Sublime Text后重新发起SFTP连接,即可正常连通。

内容的提问来源于stack exchange,提问作者xdayaan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 04:57:10