remote-ftp 插件自2021年停更,底层ftp模块与新版node.js/electron不兼容,导致“connecting…”、侧边栏空白等现象;真正可行方案是改用ftp-remote-edit插件或sshfs挂载远程目录。

Remote-FTP 连接失败根本不是配置问题
它早在 2021 年就停止维护,底层依赖的 ftp 模块与当前 Node.js/Electron 完全不兼容。你看到的“Connecting…”、侧边栏空白、无报错日志,都不是临时故障,而是协议栈已失效的必然表现。强行调 .ftpconfig 字段、降 Atom 版本、手动 npm install ftp,只会触发 SSL 握手失败、中文路径乱码或 PASV 超时等新崩溃。
真正该查的只有 SSH 层是否通
Remote-FTP 声称支持 SFTP,但实际根本不走现代 ssh2 库。它所谓的 “SFTP” 是个假开关——填 "protocol": "sftp" + "port": 22 也没用。要验证底层能力,必须绕过插件,直接终端执行:
-
ssh -p 22 user@host—— 能登录,说明 SSH 层通 -
sftp -P 22 user@host—— 能ls,说明SFTPSubsystem已启用(检查服务器/etc/ssh/sshd_config是否含SFTPSubsystem行) -
ls -ld /path/to/remote—— 确认远程目录有r--权限,仅r-x会导致静默失败 -
chmod 600 ~/.ssh/id_rsa—— 私钥权限不对,ssh2库会直接拒绝加载,且不报错
想在 Atom 里真能连,只换插件或挂载
继续折腾 Remote-FTP 是徒劳。两个可行路径:
-
换插件:装
ftp-remote-edit,它用真实ssh2实现 SFTP。关键点:Host填完整地址如user@host:22;Private Key必须是绝对路径(/home/user/.ssh/id_rsa,不能用~);首次连接卡住超 10 秒,基本是防火墙没放行 22 端口 -
挂载远程目录:用
sshfs把远程路径变成本地磁盘。macOS 执行sshfs user@host:/path ~/mnt/remote -o follow_symlinks;Windows 装WinFsp + SSHFS-Win;Linux 确保用户在fuse组。挂好后在 Atom 中File → Add Project Folder打开挂载点即可
挂载后 Atom 卡死?别碰 node_modules
sshfs 挂载本身稳定,但 Atom 的 chokidar 监听器对网络文件系统极度敏感。一旦打开含几千个文件的 node_modules 或日志目录,会高频触发 ENOTCONN,导致整个窗口冻结。真实做法是:只挂载源码目录(如 /src 或 /app),构建产物和静态资源用终端 rsync 或 git 同步——这个细节漏掉,前面所有步骤都白做。











