在开发或者测试的过程中,经常会登录到远程服务器上进行一系列操作(如目录跳转、脚本执行等);这些动作固定,但是每次重复操作会显得较为繁琐。基于此,开发出一个自动化脚本用以代替手工执行很有必要。

这里给大家介绍一种基于java的远程ssh连接实现工具,jsch。jsch作为一种ssh2的纯java实现,能够允许我们连接到一个sshd 服务器,进而进行文件传输、文件下载等操作,能够很轻松的将ssh的功能集成到代码当中。关于ssh的基本原理,我就不再做过多介绍。接下来,介绍下工具的使用(自行在maven仓库中搜索jsch依赖)。

1 新建jsch对象,作为基础句柄使用

JSch jsch = new JSch();

2 根据用户名,主机ip,端口号获取一个session,与远程服务器建立一个会话连接:

3 session建立之后,可以基于此,在远程服务器上执行shell以及文件上传下载操作了

执行shell代码实现:

文件下载代码实现:

文件上传代码实现:

当然jsch还可以实现从跳板机登录到开发机,以及登录错误最大重试次数设置等功能,这些大家有兴趣可以看看源码,也都比较容易实现。在实际测试过程中,我们要想方设法去减少重复工作,不仅提高了测试效率,也增加了我们的知识积累。

java远程连接ssh的实现相关推荐

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

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

  2. java远程连接fpt_java远程连接本地fpt

    java远程连接本地fpt [2021-02-07 17:48:19]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/ ...

  3. java 远程连接_java实现连接远程服务器并执行命令的基本原理

    一.所需jar包 需要借助Ganymed SSH的jar包:  ganymed-ssh2-build210.jar 二.实现原理 Ganymed SSH-2 java在整个访问过程中担当SSH的客户端 ...

  4. 第五十四篇 Linux相关——远程连接SSH

    No.1. SSH(Secure Shell)安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄漏问题 SSH客户端适用于 ...

  5. Java远程连接进程

    远程连接Java进程需要在启动参数中添加如下配置: -Dcom.sun.management.jmxremote.port=8888 \ -Dcom.sun.management.jmxremote. ...

  6. mac 无法打开22端口 无法远程连接ssh 的解决办法

    mac 无法远程连接 原因是22端口没有打开 尝试通过命令行打开22端口 依然失败!! 解决办法:手动设置 ①打开系统偏好设置-共享 ②勾选远程登录并添加用户 现在再试一下远程ssh ,已经可以成功连 ...

  7. frp做远程连接+ssh+http+https

    1. 什么是frp FRP (Fast Reverse Proxy) 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP , UDP , HTTP , HTTPS 协议. 下载:https:// ...

  8. Java远程连接阿里云MySQL_阿里云配置mysql远程连接

    默认是不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放在/alidata/account.log 首先登录: mysql -u root -h local ...

  9. java ssh jsch_Java使用jsch远程连接ssh

    概念:JSch是SSH2的纯Java实现.JSch允许连接到sshd服务器并使用端口转发,X11转发,文件传输等,并且可以将其功能集成到您自己的Java程序中. 说白了就是以java的方式通过jsch ...

最新文章

  1. python whl大全
  2. 内存分配策略(一):JVM栈桢及方法调用详解
  3. 财务大数据比赛有python吗-大数据工作内容有哪些?老男孩Python数据培训
  4. 0-1语言建模当中会遇到的问题
  5. 数字转字符函数_Excel之文本函数CONCATENATE/TEXT/LEFT/MID/RIGHT/FIND/LEN
  6. C++中文版本primer 第二章变量和基本类型 学习笔记
  7. [Noip2018]旅行
  8. oracle 创建表空间_Oracle 创建和管理表
  9. python中如何调用类takes no arguments_关于python中的 take no arguments 的解决方法
  10. 【速学速记】Python 高阶函数
  11. 2013,HTML5将席卷国内互联网
  12. 23种设计模式(十六)接口隔离之中介者
  13. 多目标最优化模型及算法应用(NSGA-II)
  14. Linux 面试最常问的十个问题
  15. 大数据工程师成长之路
  16. 汇编语言是一种什么程序设计语言?
  17. C语言冒泡排序(从小到大排序)
  18. HTML5详细介绍及使用
  19. 马尔可夫链 以及 隐马尔可夫模型(HMM)
  20. 什么是rpm -ivh

热门文章

  1. Python爬取煎蛋网的妹子图
  2. 今年五一小长假“长途游”“跨省游”或将迎来一波强劲反弹
  3. AS 3学习书上的例子,勇士斗恶龙
  4. 大型物联网平台如何来保障亿级设备安全连接上云?
  5. PTA 10-52 查询姓‘李’的学生记录
  6. 如何给ecshop增加戒指个性刻字功能
  7. mysql 删除字段_MySQL命令行删除表中的一个字段
  8. 如何看待大学强制要求一人一网,每年省下720万
  9. JVM学习(十四):垃圾收集器(万字介绍CMS、G1)
  10. 为什么stm32有的外设在进行初始化的时候需要将寄存器重设为缺省值?不设置会怎么样?...