假设有如下网络拓扑:
其中 Server J 是跳板机,Server B 是目标服务器。现在需要让 VSCode 经由 Server J 连接到 Server B,并在 Server B 上使用 Remote - Containers 插件开启一个容器。
在本地的 ~/.ssh/config 中添加如下配置:
Host server-j
HostName 202.x.x.x
User juser
IdentityFile ~/.ssh/id_rsa_juser
Host server-b
HostName 10.x.x.x
User buser
ProxyCommand ssh -q -W %h:%p server-j
IdentityFile ~/.ssh/id_rsa_buser
此处注意:
juser 从本地连接到 Server J,再使用 buser 从 Server J 连接到 Server B。读者可以根据实际情况修改。~/.ssh/id_rsa_juser 和 ~/.ssh/id_rsa_buser。但是这两个文件都需要存在本地。读者需要根据实际情况修改。server-b 和 server-j 是自定义的别名,可以根据实际情况修改。配置完成后,即可在 VSCode 中按 Ctrl+Shift+P,选择 Remote-SSH: Connect to Host,选中 server-b 一项,即可通过跳板连接到 Server B。
至此后的操作与在本地使用 Remote - Containers 没有区别。例如你可以直接在 Server B 的项目目录下新建 .devcontainer.json 文件,然后在 VSCode 中打开该目录,选择 Reopen in Container 即可。
{
"image": "sdcpp_dev",
"runArgs": ["--gpus", "all"]
}
后续我会更新其他关于 DevContainers 使用的文章,讨论如下话题:
作者:hsfzxjy
链接:
许可:CC BY-NC-ND 4.0.
著作权归作者所有。本文不允许被用作商业用途,非商业转载请注明出处。
假设有如下网络拓扑:
其中 Server J 是跳板机,Server B 是目标服务器。现在需要让 VSCode 经由 Server J 连接到 Server B,并在 Server B 上使用 Remote - Containers 插件开启一个容器。
在本地的 ~/.ssh/config 中添加如下配置:
Host server-j
HostName 202.x.x.x
User juser
IdentityFile ~/.ssh/id_rsa_juser
Host server-b
HostName 10.x.x.x
User buser
ProxyCommand ssh -q -W %h:%p server-j
IdentityFile ~/.ssh/id_rsa_buser
此处注意:
juser 从本地连接到 Server J,再使用 buser 从 Server J 连接到 Server B。读者可以根据实际情况修改。~/.ssh/id_rsa_juser 和 ~/.ssh/id_rsa_buser。但是这两个文件都需要存在本地。读者需要根据实际情况修改。server-b 和 server-j 是自定义的别名,可以根据实际情况修改。配置完成后,即可在 VSCode 中按 Ctrl+Shift+P,选择 Remote-SSH: Connect to Host,选中 server-b 一项,即可通过跳板连接到 Server B。
至此后的操作与在本地使用 Remote - Containers 没有区别。例如你可以直接在 Server B 的项目目录下新建 .devcontainer.json 文件,然后在 VSCode 中打开该目录,选择 Reopen in Container 即可。
{
"image": "sdcpp_dev",
"runArgs": ["--gpus", "all"]
}
后续我会更新其他关于 DevContainers 使用的文章,讨论如下话题:
作者:hsfzxjy
链接:
许可:CC BY-NC-ND 4.0.
著作权归作者所有。本文不允许被用作商业用途,非商业转载请注明出处。