Nodejs中exec调用ssh的坑
部分 Windows 电脑 SSH 连接失败。经排查,问题根源有三层:(1) Node.js exec() 执行命令时引号丢失,特殊字符被本地 CMD 解析;(2) 改用 spawn() 后仍失败,因其默认 stdin 为管道,SSH 无法访问 TTY 读取密码;(3) OpenSSH 版本差异——新版本(10.2p1)对 TTY 要求更严格,旧版本(9.5p1)兼容性更好。解决方案是将 exec() 改为 spawn(),并配置 stdio: ['inherit', 'pipe', 'p











