VSCode 远程支持双重 SSH 吗?

27
我在办公室有一台GPU服务器Server-A,唯一访问该服务器的方式是通过办公室有线网络。办公室提供了一个代理服务器Server-B。我如何连接到Server-A?我首先ssh登录Server-B,然后在Server-B的bash中,ssh登录Server-A。我想使用vscode远程扩展来为Server-A工作。我该怎么做?我现在可以在vscode中连接到Server-B。

我还需要双重 ssh —— 首先是 ssh 跳板机,然后从跳板机 ssh 到开发机,希望 vs code 支持双重 ssh。 - leafonsword
4个回答

47
经过几天的努力,我终于搞定了。正如Marc所说,vscode尊重我在.ssh/config文件中设置的隧道。一个示例可能是这样的:
Host serverB
HostName serverB_ip
PreferredAuthentications publickey
IdentityFile your_key
User you

Host serverA
Hostname serverA_ip
IdentityFile your_key
ProxyJump serverB
User you

7
所以1=B,2=A?如果你在问题中使用了名称,那么抢走你的答案会更容易! - Jonatan Öström
谢谢@张钦生,就像魔法一样有效! - undefined

6

您是否研究过在ssh配置中设置隧道以通过Server-B连接到Server-A?我相信vscode将尊重您在.ssh/config文件中设置的隧道。


1

是的,非常简单:

您可以在VSCODE中安装sftp插件,并将配置文件(.vscode\sftp.json)设置为如下:

{
"name": "CONEXION 1",
"remotePath": "/",
"host": "192.168.1.98",

"username": "user",
"privateKeyPath": "C:/Users/Usuario/.ssh/id_rsa",
"passphrase": true,
"uploadOnSave": true,

"hop": {

    "host": "11.0.0.255",
    "port": 22,
    "username": "user",
    "password": "password"

}

之后,您可以在sftp:explorer中看到“CONEXION 1”以进行部署。 右键单击“编辑文件”以在文件浏览器中更改它。

您有许多选项可以执行非常强大的操作(例如更多步骤跳跃...)。

插件:https://marketplace.visualstudio.com/items?itemName=liximomo.sftp


0

现在使用VS Code Remote-SSH并使用跳转主机选项非常容易

ssh -J 服务器网关代理 目标服务器

ssh -tt 服务器网关代理 ssh -tt 目标服务器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接