Your account has expired; please contact your system administrator.


需求是批量验证密码是否过期,密码是否错误,正常不做处理。分别在零点和前台点击触发定时任务(5分钟后)的形式进行效验。(需要检测的就是上面图片中的内容)
这次的需求只需要验证密码,不需要远程执行。结果测试发现密码验证居然拿不到linux返回的验证错误信息。返回的内容一直都是Password authentication failed.
仅凭这个报错是无法判断该主机用户的密码是否已经过期的。断点追踪源码的时候看到AuthenticationManager内部的banner保存了返回结果,高兴的手舞足蹈。但随即发现这个类在Connection中没有提供访问的入口,正常的访问根本无法触碰到am这个属性。
然后各种操作,发现Connection类不是final修饰的,尝试重写…越重写越多…
最后简单的利用几个核心类成功获取到密码失效后的返回结果~

@Test
public void bingo() throws IOException {SecureRandom generator = null;if (generator == null) {generator = new SecureRandom();}String hostname = "192.168.0.104";String username = "z";String password = "z";String softwareversion = String.format("Ganymed_%s", Version.getSpecification());ClientTransportManager tm = new ClientTransportManager();tm.setSoTimeout(0);tm.setTcpNoDelay(false);tm.setConnectionMonitors(new ArrayList<>());tm.connect(hostname, 22, softwareversion, new CryptoWishList(), null,new DHGexParameters(), 0, generator);AuthenticationManager am = new AuthenticationManager(tm);try {boolean b = am.authenticatePassword(username, password);log.info("{}", b);} catch (Exception e){log.info(am.getBanner());} finally {if (tm != null){Throwable t = new Throwable("shutdown failed.");tm.close(t, true);}}
}

ganymed-ssh2-远程连接验证相关推荐

  1. SSH2远程连接例子

    定义返回结果类 package com.base.param;/*** TODO*命令返回结果*/ public class ExecCmdResult {// 命令执行是否成功private boo ...

  2. 向日葵在mac不能以服务器运行吗,mac远程桌面连接在哪?向日葵可以实现mac远程连接吗?...

    目前大部分用户的电脑都是Windows系统的,也有部分用户用的Mac电脑,对于Mac电脑用户来说,许多操作与Windows都不同,比如他们就不知道mac远程桌面连接在哪?当遇到需要别人远程帮助时就无法 ...

  3. 华为云初次使用和配置安装宝塔配置mysql、Redis远程连接访问

    文本仅为记录日常操作,安装配置过程步骤. 准备:购买一台新的未开封的华为云服务器 初次使用 登录首页 进入到控制台 配置修改登录密码 我的资源已经创建 ECS 云服务器 点击进入配置账号密码 xshe ...

  4. Linux中怎么搭建SSH远程连接服务器

    文章目录 Linux中怎么搭建SSH远程连接服务器 一.远程连接服务器: 1.什么是远程连接服务器: 2.远程连接服务器的功能 3.常见的几种远程管理工具方式: 二.SSH连接加密技术: 1.非对称密 ...

  5. JAVA远程连接ssh异步,SSH-2实现java连接远程服务器并执行脚本命令

    参考文档: maven jar包:https://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2 Ganymed SSH2 API文档 ...

  6. 远程连接windows出现身份验证错误,提示由于CredSSP加密Oracle修正解决方案

    本机操作系统(OS版本:10.0.17134) 远程计算机操作系统(OS版本:6.3.9600) 远程连接的时候报错"出现身份验证错误,要求的函数不受支持.远程计算机:xxx 这可能是由于C ...

  7. 远程连接身份验证错误,又找不到加密Oracle修正

    用远程桌面连接登陆服务器的时候跳出来一个对话框,提示"发生身份验证错误,要求的函数不受支持."的现象的解决方案如下所示. 解决方案1 策略路径:"计算机配置"- ...

  8. Mysql不需要身份验证便可远程连接故障

    首先感谢在本次故障中阿铭对我的无私帮助,万分感谢!阿铭linux论坛:http://www.apelearn.com/study_v2/ 问题描述: 公司安全部门扫描到数据库安全隐患,数据库不需要经过 ...

  9. 出现身份验证错误 要求的函数不受支持(可能是由于CredSSP加密数据库修正) Windows Server 服务器远程连接错误

    因为是做外贸工作,基本每天都要登录远程去管理账号,但是有一天突然电脑自动更新后,便登录不上远程了,出现了;出现身份验证错误,要求的函数不受支持; 从网上搜索了一下,很多作者都说是[加密Oracle修正 ...

  10. 远程连接windows 2012 是报出“出现身份验证错误,要求的函数不受支持”解决方法”

    今天远程登录我的测试服务器(windows 2012)时报错,报错信息是:出现身份验证错误,要求的函数不受支持. 然后网上给出了很多方法,比如修改注册表.修改组策略,我这里提供一个临时简单方便的方法: ...

最新文章

  1. ubuntu 禁用透明大页_Linux关于透明大页的使用与禁用介绍
  2. linux红外驱动程序,基于Linux操作系统和红外发射器实现系统模块的设计
  3. 剑指offer: 不用加减乘除做加法
  4. [Mac入门] 如果更快的打开程序或文件
  5. 装饰器模式与代理模式的区别_JS设计模式(三):装饰器模式、代理模式
  6. rabbitMQ linux 安装步骤
  7. NUC1157 To the Max【最大子段和+DP】
  8. 20.Mybatis之逆向工程
  9. 是否可以从头来过——时间旅行为什么不可能
  10. 模糊自适应PID算法及其运用
  11. 自由落体matlab代码,matlab仿真自由落体..doc
  12. 32位系统的X86到底能支持多大内存
  13. 先验概率、后验概率、条件概率的形象解释
  14. acs包括哪几种_描写分为哪几种分别是什么
  15. unchecked runtime.lasterror: cannot create item with duplicate id XXX 谷歌浏览器扩展插件开发问题
  16. PC - 解决 Logitech G HUB 无法开机启动
  17. QQ通讯录(不完整版)
  18. 卷积神经网络处理一维信号(故障诊断)
  19. 千里馬高中率免杀网馬賀歲版算法注册机 Code.By.HackWm[D.S.T].
  20. java小游戏-扫雷游戏

热门文章

  1. Ubuntu下安装国际版qq
  2. Python深度学习实战:多类花朵分类
  3. https和http有哪些区别
  4. ios 图片加载内存尺寸_iOS加载超清大图内存暴涨问题解决
  5. 【Ios】 Unity for iOS 打开相册、相机及保存图片到相册
  6. python range函数怎么表示无限_Python range() 函数 | 菜鸟教程
  7. 小白用的iapp教程手册,iapp怎么做软件教程
  8. run time error总结
  9. Java 高效大文件 读取 和 写入(一亿行)
  10. 负载均衡常用的几种方式