Skip to content

这些连接说明使用的是本地沙箱。关于云端 SSH 设置,请参阅 Connect with SSH。

使用 Remote - SSH 扩展打开一个在沙箱内运行的 VS Code 窗口。你的编辑器留在宿主上, 文件、终端和扩展则在隔离的沙箱中运行。

前置条件 ​

连接 ​

确认你可以通过终端连接到该沙箱:

console
$ ssh demo.sbx

在 VS Code 中打开命令面板,运行 Remote-SSH: Connect to Host...。手动输入沙箱 主机名,例如 demo.sbx。VS Code 连接成功后,用远程文件夹选择器 选择已挂载的工作区。

更多连接选项请参阅 VS Code 关于 连接到远程主机 的说明。

说明 ​

  • 首次连接会在沙箱内安装 VS Code server,因此需要一点时间。之后的连接会快很多。

macOS 上反复重连的循环 ​

部分版本的 VS Code 在 macOS 上会陷入无限重连循环。如果发生这种情况,请在 VS Code 用户设置中把 remote.SSH.useLocalServer 设为 false:

json
{
  "remote.SSH.useLocalServer": false
}

详情请参阅 microsoft/vscode-remote-release#11672。

SSH host key 校验失败 ​

添加 SSH 主机后,VS Code 可能在你的 SSH 配置中留下重复或格式错误的 Host *.sbx 块。如果 VS Code 连接报告 KnownHostsCommand 错误或 Host key verification failed, 请删除 SSH 配置中所有标记为 docker sandboxes (managed) 的块,包括标记注释:

diff
-# >>> docker sandboxes (managed) >>>
-Host *.sbx
-    User _default_user_
-    ProxyCommand "sbx" ssh proxy %n
-    ...
-    UserKnownHostsFile "~/.ssh/sbx_known_hosts"
-    KnownHostsCommand "sbx" ssh known-hosts %H
-    StrictHostKeyChecking yes
-# <<< docker sandboxes (managed) <<<

然后重新生成托管块:

console
$ sbx setup ssh

从 VS Code 重新连接到沙箱。