当前位置: 首页 > news >正文

如何通过堡垒机JumpServer使用VisualCode 连接服务器进行开发

前言:应用场景

       我们经常会碰到需要远程登录到内网服务器进行开发的场景,一般的做法都是通过VPN登录回局域网,然后配置ftp或者ssh使用开发工具链接到服务器上进行开发。如果没有出现问题,那么一切都正常,但到了出现问题,需要知道到底是谁进行了操作或者进行了修改就无从查起,这个时候堡垒机就起到了作用。


一、需要提前准备:

        本文主要介绍通过 Visual Studio Code(以下简称vscode)的 Remote-SSH 插件直连 JumpServer 所纳管的 Linux-SSH 协议资产,从而进行远程开发。

VSCode 是一个运行于 Mac OS X、Windows 和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。它支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义快捷键、括号匹配和颜色区分、代码片段、代码对比 Diff、GIT 命令 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。需注意:

1. VScode 在连接服务器时,需要在服务器上安装客户端,即 ".vscode-server" 。默认安装于登陆的用户名下,例如:使用 root 用户,即安装至 /root 下;
2. 服务器连接外网时,可直接下载 VScode 客户端安装使用;服务器无法连接外网时,需要自行下载 VScode 的客户端或者复制安装好的".vscode-server",再使用 VScode 连接服务器。
#注意复制的 .vscode-server 的权限与用户从属,权限和从属都应该属于需要连接的用户。
小贴士:可将原本的 .vscode-server 打包之后解压,防止权限和从属发生改变。

二、visual code 下载

VSCode 的下载地址:Download Visual Studio Code - Mac, Linux, Windows

三、JumpServer 配置:

实现通过 Visual Studio Code 的 Remote-SSH 插件直连 JumpServer 所纳管的 Linux-SSH 协议资产还需要在 JumpServer 的配置文件(config.txt)中修改如下:

ENABLE_LOCAL_PORT_FORWARD=true
ENABLE_VSCODE_SUPPORT=true

四、vcode配置

安装 VSCode 后下载 Remote-ssh 插件。
具体步骤:在 “扩展” 中搜索 “ Remote_ssh ”,得到插件进行安装。安装后左下角出现绿色小标,如下图所示。

五、使用 VSCode 连接 JumpServer 所纳管的 Linux-SSH 协议资产有以下两种方法。

(一)、直连法

1、点击左下角绿色标识,中间上方选择 “ Connect to Host ”。

2、选择 “ Add New SSH Host ”。

3、 输入如下图所示。

ssh jumpserverUsername@systemUsername@AssetIP@jumpserverHostIP -p2222
解释:
- jumpserverUsername:登录 JumpServer 的用户
- systemUsername:连接资产指定的系统用户
- AssetIP:指定要连接的资产
- jumpserverHostIP:JumpServer 服务 IP
- 2222:KOKO 端口
注:
systemUsername 是该资产所有授权中,唯一的登录用户名,只匹配一条
AssetIP 是所有资产授权中,唯一匹配到 IP,只匹配一条
4、 选择 ssh 配置更新存储的文件位置。如下图所示。

5、选择 “ content ”。

6、输入 JumpServer 的登录密码。

7、连接资产成功。

8、打开资产文件,即可进行操作。

9、对资产进行命令操作。

(二)编辑配置文件法

1、直接编辑 ssh 配置文件。

文件内容如下图所示:

2、选择连接的资产,输入登录 JumpServer 的密码。

3、资产连接成功

六、JumpServer 开启 MFA 使用 VScode 登录资产

默认情况下,使用 VScode 连接 JumpServer 纳管的资产在连接时,输入密码后会一直卡在 MFA 输入环节,不弹出任何页面。如下图所示:

此时点击右下角的 “details” 会出现终端页面,在此页面进行 MFA 输入,如下图所示:

输入后,页面顶端再次出现密码输入弹框,输入 JumpServer 用户密码即可登录资产。
重新开启新终端即可打开如下界面:

相关文章:

如何通过堡垒机JumpServer使用VisualCode 连接服务器进行开发

前言:应用场景 我们经常会碰到需要远程登录到内网服务器进行开发的场景,一般的做法都是通过VPN登录回局域网,然后配置ftp或者ssh使用开发工具链接到服务器上进行开发。如果没有出现问题,那么一切都正常,但到了出现问题…...

【Linux】进程优先级

🌎进程的优先级 文章目录: 进程状态 优先级相关       什么是优先级       为什么要有优先级       进程的优先级 调整进程优先级       调整优先级       优先级极限测试 Linux的调度与切换 总结 前言: 进程…...

Fair Data Exchange:区块链实现的原子式公平数据交换

1. 引言 2024年斯坦福大学和a16z crypto research团队 论文 Atomic and Fair Data Exchange via Blockchain 中,概述了一种构建(包含过期EIP-4844 blobs的)fair data-markets的协议。该论文源自a16z crypto的暑期实习计划,与四名…...

详解优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器

代码示例在最后。 认识一下ThreadPoolTaskExecutor org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor这是由Sping封装的加强版线程池,其实是Spring使用装饰者模式对ThreadPoolExecutor进一步优化。 它不仅拥有ThreadPoolExecutor所有的核心参数…...

Vue3+TS+Vite 找不到模块“@/components/xxx/xxx”或其相应的类型声明

引入vue文件时文件是存在的,引入路径也是对的,报找不到模块,有一些解决方案是在tsconfig.json里面做一些配置,大家可以自行百度(不知道是不是我百度的不对,我的没有解决)还有一种是在项目根目录…...

Vue3-响应式基础:单文件和组合式文件

单文件&#xff1a;html <!DOCTYPE html> <html> <head><title>响应式基础</title> </head> <body><div id"app" ><!-- dynamic parameter:同样在指令参数上也可以使用一个 JavaScript 表达式&#xff0c;需要包…...

DVWA-File Upload文件上传

什么是文件上传漏洞&#xff1f; 黑客利用文件上传后服务器解析处理文件的漏洞上传一个可执行的脚本文件&#xff0c;并通过此脚本文件获得了执行服务器端命令的能力。 造成文件上传漏洞的原因: 1.服务器配置不当 2.开源编辑器上传漏洞 3.本地文件上传限制被绕过 4.过滤不严格被…...

python之word操作

#pip install python-docx import docx import os pathos.path.abspath(__file__) file_pathos.path.join(path,"大题.docx") print(path) print(file_path) objdocx.Document("大题.docx") #第一个段落 p1obj.paragraphs[2] # print(p1.text) #所有段落 #…...

Linux下新增有root权限的用户

步骤&#xff1a; 1.以 root 用户身份登录到 CentOS 服务器。 2.使用以下命令创建新用户&#xff08;将 newuser 替换为您想要创建的用户名&#xff09;&#xff1a; sudo adduser username 3.为新用户设置密码&#xff1a; sudo passwd username 按照提示输入新增用户密码 …...

RPC通信原理(一)

RPC通信原理 RPC的概念 如果现在我有一个电商项目&#xff0c;用户要查询订单&#xff0c;自然而然是通过Service接口来调用订单的实现类。 我们把用户模块和订单模块都放在一起&#xff0c;打包成一个war包&#xff0c;然后再tomcat上运行&#xff0c;tomcat占有一个进程&am…...

修改/etc/resolve.conf重启NetworkManager之后自动还原

我ping 百度报错&#xff1a; [rootk8snode1 ~]# ping baidu.com ping: baidu.com: Name or service not known很明显&#xff0c;这是DNS解析问题。 于是我修改 /etc/resolv.conf 文件后&#xff0c;执行完sudo systemctl restart NetworkManager&#xff0c;/etc/resolv.con…...

Web前端依赖版本管理最佳实践

本文需要读者懂一点点前端的构建知识&#xff1a; 1. package.json文件的作用之一是管理外部依赖&#xff1b;2. .npmrc是npm命令默认配置&#xff0c;放在工程根目录。 Web前端构建一直都是一个不难&#xff0c;但是非常烦人的问题&#xff0c;在DevOps、CI/CD领域。 烦人的是…...

多线程进阶

一.常见的锁策略 这里所讲的锁&#xff0c;不是一把具体的锁&#xff0c;而是锁的特性 1.乐观锁和悲观锁 悲观乐观是对锁冲突大小的预测 若预测锁冲突概率不大&#xff0c;就可能会少一些工作&#xff0c;那就是乐观锁&#xff1b;反之就是悲观锁 总是假设最坏的情况&…...

总结linux常用命令

Linux常用命令总结如下&#xff1a; 文件与目录操作&#xff1a; ls&#xff1a;列出目录内容cd&#xff1a;改变当前目录pwd&#xff1a;显示当前工作目录mkdir&#xff1a;创建新目录cp&#xff1a;复制文件或目录rm&#xff1a;删除文件或目录mv&#xff1a;移动或重命名文件…...

C++ 枚举

C 枚举 5.4.1普通枚举 枚举的定义&#xff1a;&#xff0c;枚举类型是通过enum关键字定义的&#xff0c;比如定义颜色类型 enum Color {RED, // 默认值为0GREEN, // 默认值为1BLUE // 默认值为2 }; Color myColor RED;注意&#xff1a; &#xff08;1&#xff09;括…...

Vue2在一个页面内动态切换菜单显示对应的路由组件

项目的需求是在一个页面内动态获取导航菜单&#xff0c;导航菜单切换的时候显示对应的路由页面&#xff0c;类似于tab切换的形式&#xff0c;切换的导航菜单和页面左侧导航菜单是同一个路由组件&#xff0c;只是放到了一个页面上&#xff0c;显示的个数不同&#xff0c;所有是动…...

执行任务赚积分C卷(JavaPythonC++Node.jsC语言)

现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。 每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。 可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。 输入描述 第一…...

接口测试之文件下载

在工作中对于下载接口&#xff0c;经常会有这样的疑问&#xff1a;这类接口一般功能比较稳定&#xff0c;但是又比较重要&#xff0c;需要占用回归测试时间&#xff0c;有没有可替代的方式&#xff1f; 答案肯定是有的&#xff0c;可以从接口测试/UI自动化测试介入&#xff0c…...

算法思想总结:双指针算法

一、移动零 . - 力扣&#xff08;LeetCode&#xff09; 移动零 该题重要信息&#xff1a;1、保持非0元素的相对位置。2、原地对数组进行操作 思路&#xff1a;双指针算法 class Solution { public:void moveZeroes(vector<int>& nums){int nnums.size();for(int cur…...

python中的zip函数

1.zip&#xff08;&#xff09;同时迭代多个列表、字典等 使用zip()可以同时迭代多个可迭代对象&#xff0c;如列表、字典。 注意&#xff1a;当若干个可迭代对象的长度不相等时&#xff0c;zip()函数会停止在最短的可迭代对象。 例子&#xff1a; # 定义可迭代对象 numbers …...

电路板测试点设计与自动化测试实践

1. 测试点的本质作用在电子制造领域&#xff0c;测试点&#xff08;Test Point&#xff09;是电路板上那些看似多余的小圆点&#xff0c;但它们却是保证产品质量的关键设计。作为一名有十年经验的硬件工程师&#xff0c;我见过太多因为忽视测试点设计而导致量产失败的案例。测试…...

解锁论文写作新姿势:书匠策AI,你的期刊论文智囊团

在学术的浩瀚海洋中&#xff0c;每一位探索者都渴望拥有一盏明灯&#xff0c;照亮前行的道路。对于广大教育领域的学者、研究生乃至本科生而言&#xff0c;撰写一篇高质量的期刊论文不仅是学术能力的体现&#xff0c;更是通往更高学术殿堂的钥匙。然而&#xff0c;面对繁琐的选…...

保姆级教程:手把手教你用VCSA 8.0.3接管Windows AD域,实现统一登录

企业级虚拟化身份管理&#xff1a;VCSA 8.0.3与Windows AD域深度集成实战 在数字化转型浪潮中&#xff0c;企业IT基础设施的集中化管理已成为刚需。当虚拟化平台规模扩大至数百台主机时&#xff0c;如何确保管理员和开发人员既能高效访问资源&#xff0c;又能遵循最小权限原则&…...

TouchGal终极指南:一站式Galgame社区如何让玩家找到纯净交流空间

TouchGal终极指南&#xff1a;一站式Galgame社区如何让玩家找到纯净交流空间 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next 你是否曾…...

颈椎病反复复发?终于找到根源解决办法

颈椎疼治好了又犯&#xff0c;花钱不少、遭罪不少&#xff0c;到底为啥&#xff1f;核心就两点&#xff1a;只止疼不修病灶、纤维环破裂没修复。 普通治疗只能暂时推开压迫&#xff0c;髓核还会再次突出&#xff0c;神经反复受刺激&#xff0c;酸痛麻木永远断不了根。长春颈椎腰…...

告别硬编码!用Rule-Engine 1.0.0重构你的Java业务逻辑(附订单折扣实战)

告别硬编码&#xff01;用Rule-Engine 1.0.0重构你的Java业务逻辑&#xff08;附订单折扣实战&#xff09; 每次电商大促前夜&#xff0c;技术团队最怕听到的一句话是什么&#xff1f;"折扣规则又改了&#xff01;"——这往往意味着通宵修改代码、紧急测试和冒着风险…...

如何为《以撒的结合:悔改》安装REPENTOGON扩展框架

如何为《以撒的结合&#xff1a;悔改》安装REPENTOGON扩展框架 【免费下载链接】REPENTOGON Script extender for The Binding of Isaac: Repentance 项目地址: https://gitcode.com/gh_mirrors/re/REPENTOGON REPENTOGON是一款针对《以撒的结合&#xff1a;悔改》的扩展…...

学Simulink——基于Simulink的基于扰动观测器(DOB)的负载扰动补偿

目录 手把手教你学Simulink——基于Simulink的基于扰动观测器(DOB)的负载扰动补偿​ 摘要​ 一、背景与挑战​ 1.1 负载扰动补偿的痛点与传统控制局限​ 1.1.1 应用场景与核心指标​ 1.1.2 传统PI控制的缺陷​ 1.2 DOB负载扰动补偿的核心优势​ 1.3 设计目标​ 二、系…...

镜像视界|无感定位终极形态:无需设备的人体空间定位技术突破——基于视频空间反演与多摄像机融合的无标签定位体系封面主视觉(建议)4一、终极问题:定位为什么始终依赖“设备”在传统技术体系中,“

镜像视界&#xff5c;无感定位终极形态&#xff1a;无需设备的人体空间定位技术突破——基于视频空间反演与多摄像机融合的无标签定位体系一、终极问题&#xff1a;定位为什么始终依赖“设备”在传统技术体系中&#xff0c;“定位”几乎等同于“设备”。无论是GPS、UWB、蓝牙还…...

5步构建专业视频工作流:OBS虚拟摄像头在macOS上的全面应用

5步构建专业视频工作流&#xff1a;OBS虚拟摄像头在macOS上的全面应用 【免费下载链接】obs-mac-virtualcam ARCHIVED! This plugin is officially a part of OBS as of version 26.1. See note below for info on upgrading. &#x1f389;&#x1f389;&#x1f389;Creates …...