VSCode Remote SSH实现本地机借助跳板机连接远程服务器(或服务器中的docker)

背景

实验室的服务器都只有内网ip 192.168.1.xx,在家里无法直接访问连接,经过师兄的配置,通过另一台服务器47.110.xx.yy可以进行跳板连接
在使用命令行连接到实验室服务器的操作如下:

62CBEAEA-2146-44E0-9B79-84DEA18FEFAD.png

如果还希望连接服务器中的docker container,就还需要sudo exec一次,并且还要再输入一次密码,非常头秃,因此想借助vscode remote ssh实现两级跳转直接连接到服务器中的docker

预备知识

VSCode Remote SSH实现本地机连接远程服务器(其中的docker)的操作就暂且略过,可以参考VSCode连接远程服务器里的docker容器

或是参考其他使用vscode插件连接远程服务器的博客

这里主要介绍如何通过中间的跳板机连接远程服务器

开始配置

  1. 点击ssh插件 – 点击右上角的齿轮

38D6999E-E733-479D-88AA-9E14E1048603.png

  1. 可以直接选择第一个默认的ssh config文件

5618E45B-AE15-4DA4-A125-7FE44A671847.png

  1. 根据自己跳板机和远程服务器的情况进行配置

我的情况是

  • 跳板机ip为47.110.xx.yy,已经在其上将本机的ssh-key授权(可以免密码登陆),免密码方法可以参考 SSH免密码登陆服务器
  • 服务器ip为192.168.1.xx,docker容器开放的端口是6789

其实最根本实现跳板的一句配置是 ProxyCommand ssh -W %h:%p <SPRINGBOARD_NAME>,而且要确保这个名字和上面定义的跳板名字一致

Host invix_springboard
  HostName 47.110.xx.yy
  Port 6000
  User root
  IdentityFile ~/.ssh/id_rsa

![38D6999E-E733-479D-88AA-9E14E1048603.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/68e94f8586414fe9bbbc5e9896ebc1c1~tplv-k3u1fbpfcp-watermark.image)
Host server
  HostName 192.168.1.xx
  Port 6789
  User root
  ProxyCommand ssh -W %h:%p invix_springboard
复制代码

连接使用

然后就可以直接点击远程服务器的连接按钮 – 输入密码,完成连接?

64658828-1C18-4D7A-A20D-BE86D5E76342.png

Resources

vscode通过跳板机(堡垒机)连接remote服务器_TheWaySoFar-CSDN博客

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享