remote-ftp插件已停止维护且协议栈不兼容现代环境,连接静默失败;应改用sshfs挂载远程目录或ftp-remote-edit插件,避免大项目导致atom卡死。

Remote-FTP 插件在 Atom 中断连,不是网络波动导致的临时卡顿,而是它早已停止维护、协议栈与现代系统不兼容的必然结果。2021 年停更后,所有连接失败本质上都是“不可修复”的设计性失效。
Remote-FTP 连接静默中断的真正原因
插件不会报 Connection refused 或 Timeout,只在侧边栏留一片空白——这不是配置漏了字段,是底层 ftp 模块已被新版 Node.js 和 Electron 彻底抛弃。
-
protocol填"sftp"却配"port": 21:SFTP 和 FTP 协议栈完全隔离,端口错配即握手失败,但插件不校验也不提示 -
remote路径写成"app"或"./app":必须是绝对路径(如"/var/www/html"),否则ls返回空数组,侧边栏直接不渲染 - 远程目录权限为
r-x(缺读权):SSH 层ls命令直接被拒,但插件捕获不到Permission denied,只静默终止 - 私钥路径用
~/.ssh/id_rsa或相对路径:privatekey字段必须是绝对路径(如"/home/user/.ssh/id_rsa"),否则 SSH 库加载失败且无日志
为什么改配置、降 Atom 版本都救不回来
强行将 Atom 降级到 1.58 以下,会触发一连串新崩溃:SSL 握手失败、中文路径乱码、PASV 模式超时。社区 GitHub issues 最后有效回复停留在 2022 年,没人再修,也没法修。
- 手动
npm install ftp或 patchnode_modules:破坏 Atom 安全沙箱,每次更新自动清空修改 - 启用
promptForPass却不弹框:说明私钥文件权限不是600(chmod 600 ~/.ssh/id_rsa必须执行) - 服务器
/etc/ssh/sshd_config关闭了SFTPSubsystem:此时连ssh user@host -s sftp都进不去,插件自然卡死
真正能用的替代方案:sshfs 挂载
绕过插件,让远程目录变成本地磁盘,Atom 完全无感——这才是唯一稳定路径。挂载后直接用 File → Add Project Folder 打开,编辑即实时同步。
- macOS:
brew install sshfs,再运行sshfs user@host:/path ~/mnt/remote -o follow_symlinks - Windows:装
WinFsp + SSHFS-Win,右键“Map network drive”,填sftp://user@host/path - Linux:确保用户在
fuse组,mkdir -p ~/mnt/remote后执行sshfs user@host:/path ~/mnt/remote
注意:挂载后别打开含 node_modules 或日志的整项目——Atom 的 chokidar 监听器对网络文件系统极不友好,频繁触发 ENOTCONN 会导致整个窗口冻结。
如果非要 Atom 内置连接,只用 ftp-remote-edit
这是目前唯一还在维护、真正能跑的替代品。它基于现代 ssh2 库实现 SFTP,支持密钥登录和代理跳转。
-
Port必须填22(别碰21),Protocol必须选SFTP(FTP/FTPS 选项实际无效) -
Private Key路径必须是绝对路径,比如"/Users/you/.ssh/id_rsa",不能带~ - 首次连接卡在
Connecting...超过 10 秒:大概率是防火墙没放行 22 端口,或服务器sshd_config中SFTPSubsystem被注释
复杂点在于:它不处理大项目监听,挂载后仍要主动避开 node_modules 类目录;真正的稳定,来自把远程路径当成本地磁盘用,而不是让编辑器去“连”。











