You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac端VSCode无法连接远程FreeBSD服务器问题求助

VSCode Remote-SSH 无法连接 FreeBSD 服务器(SSH可正常免密登录)

问题详情

  • 运行环境:MacOS,VSCode 1.82.2,Remote-SSH 扩展版本 0.106.4
  • 异常现象:可通过SSH免密登录FreeBSD 11.4-RELEASE服务器,但VSCode Remote-SSH连接失败;连接Ubuntu服务器无异常
  • 已尝试操作:配置SSH免密登录(公钥已添加至authorized_keys)、尝试第三方Gist方案,均未解决问题

Remote-SSH 连接日志

[17:22:30.369] Log Level: 2
[17:22:30.463] SSH Resolver called for "ssh-remote+10.102.13.130", attempt 1
[17:22:30.463] "remote.SSH.useLocalServer": true
[17:22:30.463] "remote.SSH.useExecServer": false
[17:22:30.464] "remote.SSH.path": undefined
[17:22:30.464] "remote.SSH.configFile": undefined
[17:22:30.464] "remote.SSH.useFlock": true
[17:22:30.464] "remote.SSH.lockfilesInTmp": false
[17:22:30.464] "remote.SSH.localServerDownload": auto
[17:22:30.466] "remote.SSH.remoteServerListenOnSocket": false
[17:22:30.467] "remote.SSH.showLoginTerminal": false
[17:22:30.467] "remote.SSH.defaultExtensions": []
[17:22:30.467] "remote.SSH.loglevel": 2
[17:22:30.467] "remote.SSH.enableDynamicForwarding": true
[17:22:30.467] "remote.SSH.enableRemoteCommand": false
[17:22:30.467] "remote.SSH.serverPickPortsFromRange": {}
[17:22:30.468] "remote.SSH.serverInstallPath": {}
[17:22:30.473] VS Code version: 1.82.2
[17:22:30.473] Remote-SSH version: remote-ssh@0.106.4
[17:22:30.473] darwin x64
[17:22:30.475] SSH Resolver called for host: 10.102.13.130
[17:22:30.475] Setting up SSH remote "10.102.13.130"
[17:22:30.479] Acquiring local install lock: /var/folders/7m/zlzr9drd5qxd_1y7js_xfpdh0000gn/T/vscode-remote-ssh-d2448b3d-install.lock
[17:22:30.481] Looking for existing server data file at /Users/rishabvar/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-d2448b3d-abd2f3db4bdb28f9e95536dfa84d8479f1eb312d-0.106.4/data.json
[17:22:30.482] Using commit id "abd2f3db4bdb28f9e95536dfa84d8479f1eb312d" and quality "stable" for server
[17:22:30.485] Install and start server if needed
[17:22:30.487] PATH: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/rishabvar/Library/Python/3.8/bin:/Users/rishabvar/Library/Python/3.8:/Library/Apple/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
[17:22:30.487] Checking ssh with "ssh -V"
[17:22:30.527] > OpenSSH_9.0p1, LibreSSL 3.3.6

[17:22:30.545] askpass server listening on /var/folders/7m/zlzr9drd5qxd_1y7js_xfpdh0000gn/T/vscode-ssh-askpass-b8bb9d5bf72233293430f652c77ebe63752d1b34.sock
[17:22:30.546] Spawning local server with {"serverId":1,"ipcHandlePath":"/var/folders/7m/zlzr9drd5qxd_1y7js_xfpdh0000gn/T/vscode-ssh-askpass-fd01024286bf470358f3894c77e691d3d5b6761d.sock","sshCommand":"ssh","sshArgs":["-v","-T","-D","59727","-o","ConnectTimeout=15","10.102.13.130"],"serverDataFolderName":".vscode-server","dataFilePath":"/Users/rishabvar/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-d2448b3d-abd2f3db4bdb28f9e95536dfa84d8479f1eb312d-0.106.4/data.json"}
[17:22:30.546] Local server env: {"SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.uKknS2GIa0/Listeners","SHELL":"/bin/zsh","DISPLAY":"1","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"/Users/rishabvar/.vscode/extensions/ms-vscode-remote.remote-ssh-0.106.4/out/local-server/askpass.sh","VSCODE_SSH_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","VSCODE_SSH_ASKPASS_EXTRA_ARGS":"--ms-enable-electron-run-as-node","VSCODE_SSH_ASKPASS_MAIN":"/Users/rishabvar/.vscode/extensions/ms-vscode-remote.remote-ssh-0.106.4/out/askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"/var/folders/7m/zlzr9drd5qxd_1y7js_xfpdh0000gn/T/vscode-ssh-askpass-b8bb9d5bf72233293430f652c77ebe63752d1b34.sock"}
[17:22:30.547] Spawned 84864
[17:22:30.749] > local-server-1> Running ssh connection command: "-v -T -D 59727 -o ConnectTimeout=15 10.102.13.130"
[17:22:30.752] > local-server-1> Spawned ssh, pid=84868
[17:22:30.763] stderr> OpenSSH_9.0p1, LibreSSL 3.3.6
[17:22:31.007] stderr> debug1: Server host key: ssh-ed25519 SHA256:ZTSpaNda0Xr2+52t5jS1Zf/+t3iuLRlOrbN9H0XbFdk
[17:22:31.409] stderr> Authenticated to 10.102.13.130 ([10.102.13.130]:22) using "publickey".
[17:22:31.458] > Warning: no access to tty (Bad file descriptor).
> Thus no job control in this shell.
[17:22:31.478] > ready: 64fac24c4b70
[17:22:31.504] > FreeBSD 11.4-RELEASE FreeBSD 11.4-RELEASE #0 r362094: Fri Jun 12 18:27:15 UTC 2020     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC 
[17:22:31.504] Platform: linux
[17:22:31.529] > /bin/csh
[17:22:31.529] Shell: csh
[17:22:31.529] Creating bash subshell inside "csh"
[17:22:31.609] > bash version:  5.0.16(0)-release
[17:22:31.654] > 64fac24c4b70: running
[17:22:31.667] > Unsupported platform: FreeBSD
> 64fac24c4b70: start
> exitCode==35==
[17:22:31.668] > listeningOn====
> osReleaseId==FreeBSD==
> arch====
> vscodeArch====
> bitness====
> tmpDir==/tmp==
> platform====
> unpackResult====
> didLocalDownload==0==
> downloadTime====
> installTime====
> extInstallTime====
> serverStartTime====
> 64fac24c4b70: end

解决方法

日志明确显示Unsupported platform: FreeBSD,说明VSCode Remote-SSH扩展未原生识别FreeBSD平台,可通过以下步骤解决:

方法1:强制将FreeBSD识别为Linux平台

在VSCode的settings.json中添加配置,让VSCode把目标FreeBSD服务器当作Linux处理:

"remote.SSH.serverInstallPath": {
    "10.102.13.130": "/home/你的用户名/.vscode-server"
},
"remote.SSH.serverArgs": [
    "-o", "PermitLocalCommand=yes",
    "-o", "LocalCommand=mkdir -p ~/.vscode-server/data/Machine && echo '{\"osReleaseId\":\"linux\"}' > ~/.vscode-server/data/Machine/settings.json"
]

替换配置中的10.102.13.130为你的FreeBSD服务器IP,你的用户名为服务器登录账户名。

方法2:手动部署VSCode Server

  1. 下载对应版本的FreeBSD包,版本号匹配日志中的commit id:abd2f3db4bdb28f9e95536dfa84d8479f1eb312d
  2. 在FreeBSD服务器上创建目录:mkdir -p ~/.vscode-server/bin/abd2f3db4bdb28f9e95536dfa84d8479f1eb312d
  3. 将下载的包上传到该目录并解压
  4. 重启VSCode后重新尝试连接

方法3:修改服务器默认Shell为Bash

日志显示当前默认Shell为csh,可能导致VSCode Server初始化异常:

  1. 在FreeBSD服务器上执行pkg install bash安装Bash(若未安装)
  2. 执行chsh -s /usr/local/bin/bash修改默认Shell
  3. 重新发起VSCode Remote-SSH连接

内容的提问来源于stack exchange,提问作者Rishab V Arun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:00:53