JumpServer跳过登陆验证使用终端直接登陆
前言 公司在经历一段安全管控之后,JumpServer就连使用跳板到测试环境也需要两步验证了,但是每次这样都会很麻烦,本来使用三方的tabby进行连接就很优雅了,使用https://github.com/jumpserver/jumpserver/issues/10061两步验证之后都很繁琐。 发现MFA的配置无法跳过,下面的内容也只能起到跳过密码的操作 自动登陆也是可以实现的,不过我懒得去弄了,详情见延展阅读2 MFA 是二次认证。用户登录 JumpServer 时,密码是第一层,第二层是 MFA。通过 Terminal 登录时,也是一样的。使用密钥 SSH 登录,只是第一层认证通过了,所以会显示 MFA 等待输入。如果用户开启了 MFA,那无论是 Web 还是终端都需要认证。从安全角度来讲,没问题的。 今天在看JumpServer的个人资料设置的时候发现了个SSH Key设置 那么不就简单多了,直接通过SSH Key进行免密登陆 操作 到你的JumpServer上找到上图设置,在头像的个人资料设置那里就有 点击Reset and download SSH Key下...
Liquibase使用
安装liquibase 我这里用的是Manjaro,直接使用yay进行安装 yay -S liquibase 安装MySQL的驱动 通过yay安装的liquibase会在/opt/liquibase/internal/lib,将下好的驱动放到这个目录下 创建一个liquibase的配置文件 # Mysql连接串driver: com.mysql.cj.jdbc.Driverclasspath: /opt/liquibase/internal/lib/mysql-connector-j-8.1.0.jarurl: jdbc:mysql://127.0.0.1:3306/liquisbase?useSSL=false&serverTimezone=UTC&autoReconnect=true&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=trueusername: liquibasepassword: 123456changeLogFile: changeLog-mysq...
HtmlUnit爬虫获取页面信息
HtmlUnit是一个没有GUI的模拟浏览器测试框架,之前在Python使用过Slenium进行自动化测试和一些爬虫的操作。但是Slenium在使用的时候会出现一个浏览器界面进行真实操作。 HtmlUnit可能在编排代码的时候不知道浏览器现在是什么情况,可能会有很难写下去的情况。 POM中引入HtmlUnit <!-- https://mvnrepository.com/artifact/net.sourceforge.htmlunit/htmlunit --><dependency> <groupId>net.sourceforge.htmlunit</groupId> <artifactId>htmlunit</artifactId> <version>2.70.0</version></dependency> 编写代码 package org.example;import com.gargoylesoftware.htmlunit.Brow...
自生成IP证书实现局域网Https访问
当我们在本地进行测试和部署的时候,有些会涉及到Https的部署,或者客户系统需要Https内网的加密通话。但是Https证书一般都是颁发给域名的,我们本地应该怎么操作呢。 生成需要的对应IP的Https证书,keytool就是java自带的工具,可以进行证书的生成等操作。 keytool -genkeypair -alias myapp -keyalg RSA -keysize 2048 -keystore keystore.jks -validity 3650 -dname "CN=example.com" -ext "SAN=IP:192.168.1.1" 转换证书,该证书安装在使用者的电脑上 keytool -exportcert -alias keystore -file keystore.crt -keystore keystore.jks keystore.jks就可以放在自己的应用下,作为Https证书使用,keystore.crt安装在要访问应用的用户电脑上。 这样咱们在内网就可以使用Https加密的IP...
Feign Resilience4j 与 Hystrix 的碰撞
背景 在升级Springboot版本的时候,之前使用的是ContextHolder threadLocal=ContextHolder.getInstance().getContextHolder();Map<String, String> parMap=new HashMap<>();parMap.put("Key","Value");threadLocal.set(parMap); 获取一个map保存传递信息 原理是 使用Feign的拦截器 if(parMap!=null&&parMap.size()>0&&parMap.containsKey("Key")){ template.header("Key","Value");}else{ logger.info(Thread.currentThread().getName()+"为空。");} ...
TypeNotPresentExceptionProxy问题排查
java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy TypeNotPresentExceptionProxy 是 类型不存在异常代理 找到TypeNotPresentExceptionProxy类,在sun.reflect.annotation下 在TypeNotPresentExceptionProxy方法里打断点 debug项目,查看断点错误
配置文件优先级
bootstrap配置文件中的与nacos服务相关的配置不会被application配置文件覆盖 但是如果想要在bootstrap中配置项目应用所需的属性,那么优先级低于application配置文件。会被覆盖 这也符合bootstrap本身是用于引导的作用。 至于nacos服务器上的配置,默认最大(可以配置修改),即使是命令参数也无法覆盖。
正则表达式与IDEA的碰撞
在进行SpringBoot版本升级的时候涉及到FeignClient对于相同的value只能存在一个,解决办法可以允许spring的bean覆盖或者给没一个bean加上一个ContextId保证唯一性,当然最好的还是重构,但是涉及点太多而且不敢动。 想通过全局替换进行添加东西,但是当时没有找到解决方案 一个月后翻IDEA的使用教程发现了正确方法,一张图告诉你它该有的样子 @FeignClient\(.*value\s*=\s*"(.*)"(.*) @FeignClient\(name = "$1"$2 Idea官方文档:使用正则表达式捕获组和反向引用
Manjaro安装deb包
背景 使用yay安装的钉钉自动下载更新是个deb包,但是Arch Manjaro不能直接进行deb包的安装,我们需要借助debtap进行安装deb包 安装debtap yay -S debtap 装换deb包为pkg.tar.zst包 ~/.config/DingTalk/userdata/package debtap com.alibabainc.dingtalk_7.1.0.31113_amd64.deb ==> Extracting package data...==> Fixing possible directories structure differencies...==> Generating .PKGINFO file...:: Enter Packager name (can be left blank)::: Enter package license (can be left blank, you can enter multiple lic...
Manjaro关于yay和pacman的常用命令
使用yay安装软件 yay -S package_name yay所有的包可以在AUR 首页查看 也可以使用 yay package_name 直接进行搜索 更新软件 yay -Sua 卸载软件 yay -R package_name 搜索本地已经安装的包 pacman -Qs 关键字 删除单个软件包,保留其全部已经安装的依赖关系 sudo pacman -R package_name 删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系: sudo pacman -Rs package_name 要删除软件包和所有依赖这个软件包的程序: sudo pacman -Rsc package_name 警告: 此操作是递归的,请小心检查,可能会一次删除大量的软件包。 要删除软件包,但是不删除依赖这个软件包的其他程序: sudo pacman -Rdd package_name 电脑日常使用一段时间之后会导致有特别多的缓存,可以通过下面的命令进行清理 清理缓存,仅包含最近的三个版本 paccache -r 清理缓存,仅包含最近的1个版本 paccache -rk1 清理未安装...








