我在办公室有一台GPU服务器Server-A,唯一访问该服务器的方式是通过办公室有线网络。办公室提供了一个代理服务器Server-B。我如何连接到Server-A?我首先ssh登录Server-B,然后在Server-B的bash中,ssh登录Server-A。我想使用vscode远程扩展来为Server-A工作。我该怎么做?我现在可以在vscode中连接到Server-B。
Host serverB
HostName serverB_ip
PreferredAuthentications publickey
IdentityFile your_key
User you
Host serverA
Hostname serverA_ip
IdentityFile your_key
ProxyJump serverB
User you
您是否研究过在ssh配置中设置隧道以通过Server-B连接到Server-A?我相信vscode将尊重您在.ssh/config文件中设置的隧道。
是的,非常简单:
您可以在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
现在使用VS Code Remote-SSH并使用跳转主机选项非常容易
ssh -J 服务器网关代理 目标服务器
ssh -tt 服务器网关代理 ssh -tt 目标服务器