欢迎光临
我们一直在努力

【国产化实践】解决 TRAE Remote-SSH 连接麒麟服务器失败:WebSocket close with status code 1006

关键词:TRAE CN、VS Code Remote-SSH、麒麟 Kylin V10、WebSocket 1006、AllowTcpForwarding、SSH 端口转发、vi 编辑器


一、问题现象

在 Windows 上使用 TRAE CN(或 VS Code Remote-SSH) 连接国产 麒麟 Kylin V10 服务器时,反复报错:

WebSocket close with status code 1006: CodeExpectedError

手动 SSH 登录却完全正常,密钥免密登录无任何问题。这让人非常困惑:网络通、密钥对、权限正确,为何远程开发工具连不上?


二、根本原因

经过深入排查,发现错误日志中隐藏关键线索:

channel 3: open failed: administratively prohibited: open failed
Error creating SOCKS connection: undefined Socket closed

这说明:SSH 服务端拒绝了端口转发请求!

而 TRAE CN / VS Code Remote-SSH 在连接时,会通过 -D 参数建立 SOCKS 动态隧道(用于后续 WebSocket 通信)。如果服务器禁止端口转发,隧道无法建立,就会触发 WebSocket 1006 错误。

罪魁祸首:麒麟系统默认安全策略禁用了 SSH 端口转发!

排查方式:在以下命令中输入show log remote


三、解决方案

✅ 步骤 1:在麒麟服务器上修改 SSH 服务配置

登录麒麟服务器,编辑 /etc/ssh/sshd_config:

sudo vi /etc/ssh/sshd_config

🔧 如何用 vi 编辑文件?(新手友好版)
  • 移动光标:用方向键定位到目标行(如 AllowTcpForwarding no)
  • 进入编辑模式:
      • 按 i → 在光标前插入
      • 按 a → 在光标后插入(推荐)
  • 修改内容:
      • 将 AllowTcpForwarding no 改为 AllowTcpForwarding yes
  • 添加新配置:
      • 按 Esc 退出编辑模式
      • 按 o(小写)→ 在下一行插入
      • 输入:PermitOpen any
  • 保存退出:
      • 按 Esc
      • 输入 :wq(英文冒号 + wq)
      • 按回车

    💡 提示:以 # 开头的行是注释,不会生效。确保你的配置行没有 #!

    最终配置应包含:

    AllowTcpForwarding yes
    PermitOpen any

    ✅ 步骤 2:重启 SSH 服务

    sudo systemctl restart sshd

    ⚠️ 注意:此操作不会断开当前 SSH 会话,可安全执行。

    四、重新连接 TRAE CN

  • 完全退出 TRAE CN(包括系统托盘)
  • 重新打开 TRAE CN
  • 点击远程主机 172.26.100.17
  • 耐心等待 1~2 分钟(首次会自动部署服务端)
  • 🎉 此时应成功连接,左下角显示 SSH: 172.26.100.17!


    五、经验总结

    问题环节

    原因

    解决方案

    手动 SSH 成功,但 TRAE 失败

    TRAE 需要 SOCKS 隧道

    启用 SSH 端口转发

    报错 administratively prohibited

    AllowTcpForwarding no

    改为 yes

    不熟悉 vi 编辑器

    无法修改配置文件

    掌握 i/a/Esc/:wq

    📌 特别提醒:国产操作系统(如麒麟、UOS)出于安全考虑,常默认关闭 AllowTcpForwarding。在使用 Remote-SSH、Jupyter Lab、Code Server 等依赖端口转发的工具时,务必检查此项!


    结语

    从“WebSocket 1006”到成功连接,看似简单的问题背后,其实是对 SSH 协议机制和国产系统安全策略的深度理解。希望本文能帮助更多开发者在信创环境下顺利开展远程开发!

    作者:一位踩过坑的开发者
    环境:Windows 11 + TRAE CN + 麒麟 Kylin V10
    时间:2026年4月

    欢迎点赞、收藏、评论交流!👏

    赞(0)
    未经允许不得转载:171主机测评 » 【国产化实践】解决 TRAE Remote-SSH 连接麒麟服务器失败:WebSocket close with status code 1006
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址