【从跳板机ssh到内网目标服务器】配置vscode实现远程连接

1 为什么要用跳板机?跳板机 -> 目标服务器的问题

  • 有的服务器部署在实验室内网环境,我们无法直接用个人笔记本进行连接。所以,一般通过ssh先连接跳板机(能被外部网络环境访问到),再通过ssh跳转到目标服务器(内网环境)。
  • 但是问题来了!编程仅能通过vim等文本编辑工具进行,训练时使用命令行操作,造成了一定程度的不方便。
  • 之前我总结了vscode远程连接服务器及如何免密登陆(【完整过程】vscode连接远程Linux服务器及免密登陆),这个明显属于一次连接,如果“跳板机 -> 目标服务器”也同样可以配置vscode远程连接,那会给我们的coding带来很大的便利。所以能否实现呢?答案是肯定的!
  • 说明:因为绝大多数的操作和直接实现vscode连接远程操作是一致的,所以具体操作请看上面给出的链接即可,所以这里只介绍跳板机到内网目标服务器的关键操作。

2 配置config文件

我们已经在之前配置好了ssh到跳板机的config,所以现在只需要配置从跳板机ssh到内网目标服务器的config:
在这里插入图片描述
下面给出一个示例config:

Host JumperSever
    HostName 1.1.1.1
    User student1
    Port 1001

Host TargetSever
    HostName 2.2.2.2
    User student2
    ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -W %h:%p JumperSever

3 注意一下

  • config中本来是应该有Password的,但是这里我提前找管理员配置好了免密连接,所以不需要在config中写Password了。免密连接的配置这里分两步:① 把你本机(笔记本)的public key写入跳板机的authorized_keys文件中;② 把你跳板机上的public key写入目标服务器的authorized_keys文件中。
    两步操作几乎一致,keygen生成公钥(client端本机操作)和写入authorized_keys(admin在server端操作)两步,仍然可以参考这篇:【完整过程】vscode连接远程Linux服务器及免密登陆
  • 这个跨服务器的配置的关键点在于:ProxyCommand ssh -W %h:%p JumpSever这一行!通过ProxyCommand ssh将跳板机指向目标服务器。注意,这里的ssh需要换成你本机ssh.exe的路径。

4 远程连接,开始实验

在vscode左侧直接找到目标服务器的选项,进行远程连接:
在这里插入图片描述
然后选择你要进入的文件夹下,开始实验。之后的操作就和直接用ssh进行远程连接一模一样了:
在这里插入图片描述
可以看到,我已经通过vscode远程连接到了内网目标服务器上(通过跳板机再ssh了一次),bingo!!!⭐

猜你喜欢

转载自blog.csdn.net/qq_16763983/article/details/126868473