You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VS Code Remote SSH扩展无法连接远程Linux服务器问题排查

解决VS Code Remote SSH连接受限Linux服务器的问题

我看到你遇到了VS Code Remote SSH连接远程RHEL服务器的问题——虽然终端、Putty和SSH FS都能正常连接,但VS Code一直报channel 2: open failed: administratively prohibited: open failed的错误。结合你的日志和服务器权限限制(仅能操作个人文件夹、无法外部下载),我给你几个针对性的解决方案:

1. 切换到Unix Socket模式避免端口转发限制

从日志来看,VS Code已经成功在你的个人目录启动了Remote Server,但端口转发被服务器的SSH策略禁止了。最直接的解决方式是让Remote Server使用Unix Socket而非TCP端口:

  • 打开VS Code的设置(快捷键Ctrl+,
  • 搜索remote.SSH.remoteServerListenOnSocket,将其设置为true
  • 重新尝试连接远程服务器

这个设置会让VS Code远程服务通过Unix Socket通信,绕开服务器对TCP端口转发的限制,而且你的个人临时目录/run/user/54414已经有对应权限,完全可以支持socket通信。

2. 确认VS Code Server安装路径权限

虽然日志显示Server已经安装在你的个人目录/export/home/<USER>/.vscode-server,但我们可以手动指定安装路径确保权限没问题:

  • 在VS Code设置中搜索remote.SSH.serverInstallPath
  • 添加针对该服务器的配置项:
    "<IPSERVER>": "/export/home/<USER>/.vscode-server"
    
  • 保存设置后重启VS Code再尝试连接

3. 再次确认禁用动态转发

从你的日志看remote.SSH.enableDynamicForwarding已经是false,但建议再次确认全局或针对该服务器的设置:

  • 搜索remote.SSH.enableDynamicForwarding,确保所有相关设置都是false
  • 动态转发会触发额外的端口请求,容易被服务器的限制策略拦截

4. 手动启动VS Code Remote Server(如果自动启动失败)

如果以上设置还是不行,可以手动启动Remote Server:

  1. 通过终端SSH登录到服务器
  2. 进入已安装的Server目录:
    cd /export/home/<USER>/.vscode-server/bin/f80445acd5a3dadef24aa209168452a3d97cc326
    
  3. 启动Socket模式的Server:
    ./server.sh --socket
    
  4. 保持终端会话,然后在VS Code中发起Remote SSH连接

这些方案都是针对你权限有限、服务器禁止外部下载和部分端口的场景设计的,应该能解决你遇到的问题。

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

火山引擎 最新活动