• 【从跳板机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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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!!!⭐

  • 相关阅读:
    c++基础:new函数
    jQuery提供的获取元素位置的接口方法
    防火墙之firewall配置
    python之print
    JL杰理sop8蓝牙芯片ble型号KT6368A的功能简介以及应用于香薰机
    可怕的红黑树
    【自学前端】HTML篇已完结(附14节视频)
    单链表经典例题
    Java Process:另一个程序正在使用此文件,进程无法访问
    NewCoder 排队
  • 原文地址:https://blog.csdn.net/qq_16763983/article/details/126868473