microsoft/vscode-remote-release
issue 6608,但目前还没有官方文档。
Issue 8110 提供了使用隧道而非 SSH 的示例:
I'm using the code tunnel on a multi-node HPC cluster.
This means that I can run it from any number of machines (depending on where my job is scheduled), but all share the same NFS-mounted home directory.However, I've noticed that the generated token is tied to a specific machine: if I run a new code tunnel from a different machine, it will give the prompt:
To grant access to the server, please log into https://github.com/login/device and use code XXXX-XXXX
This appears to modify the
~/.vscode-cli/token.json
file.
If I run code tunnel again from the same machine, I don't see the prompt, but I do if I change machines (including ones previously authenticated).
得到了微软方面的确认:
令牌密钥使用特定于机器的信息进行加密/混淆。我们目前不支持在多台机器之间共享此密钥。
混淆是用于在具有更宽松的密钥链的系统上提供一定程度的安全性,即不会在系统级别上将密钥隔离在不同的消费应用程序之间。
请参见microsoft/vscode
@cli/src/auth.rs
这个问题已经通过PR 175940得到解决。
所有这些都指向了一个与SSH不同的加密机制。
Visual Studio Code 远程开发允许您使用容器、远程机器或 Windows Subsystem for Linux (WSL) 作为完整功能的开发环境。
远程开发使您的本地 VS Code 安装能够透明地与其他机器上的源代码和运行环境进行交互(无论是虚拟的还是物理的),通过将某些命令的执行移动到“远程服务器”——VS Code 服务器。当您连接到远程终端时,VS Code 会快速安装 VS Code 服务器,并且可以托管直接与远程工作区、机器和文件系统进行交互的扩展。
我们已将此 VS Code 服务器后端组件发布为您可以自行运行的服务(您可以在其文档中了解更多信息),而不仅仅是由远程开发扩展安装和管理。