简介:Ganymed SSH-2 for Java is a library which implements the SSH-2 protocol in pure Java (tested on J2SE 1.4.2 and 5.0). It allows one to connect to SSH servers from within Java programs. It supports SSH sessions (remote command execution and shell access), local and remote port forwarding, local stream forwarding, X11 forwarding, SCP and SFTP. There are no dependencies on any JCE provider, as all crypto functionality is included.

程序:

@Test

public void testSsh() {

String hostname = "192.168.0.1";

String username = "root";

String password = "password";

try {

/* Create a connection instance */

Connection conn = new Connection(hostname);

/* Now connect */

conn.connect();

System.out.println("connect ok");

/*

* Authenticate. If you get an IOException saying something like

* "Authentication method password not supported by the server at this stage."

* then please check the FAQ.

*/

boolean isAuthenticated = conn.authenticateWithPassword(username,password);

if (isAuthenticated == false)

throw new IOException("Authentication failed.");

System.out.println("Authentication ok");

/* Create a session */

Session sess = conn.openSession();

sess.execCommand("uname -a");

System.out.println("Here is some information about the remote host:");

/*

* This basic example does not handle stderr, which is sometimes

* dangerous (please read the FAQ).

*/

InputStream stdout = new StreamGobbler(sess.getStdout());

BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

while (true) {

String line = br.readLine();

if (line == null)

break;

System.out.println(line);

}

/* Show exit status, if available (otherwise "null") */

System.out.println("ExitCode: " + sess.getExitStatus());

/* Close this session */

sess.close();

/* Close the connection */

conn.close();

} catch (IOException e) {

e.printStackTrace(System.err);

System.exit(2);

}

}

运行结果:

connect ok

Authentication ok

Here is some information about the remote host:

Linux localhost.localdomain 2.6.22 #1 SMP Wed Aug 13 11:24:59 CST 2008 i686 i686 i386 GNU/Linux

ExitCode: 0

ganymed ssh-2 for java_如何利用Ganymed SSH-2模拟SSH操作相关推荐

  1. chrome frame节点 取_爬虫3-下(利用Selenium + Chrome Driver模拟用户操作浏览器)

    一.前言 前面利用request的方法爬取页面数据的操作,今天用另外一种方法:利用Selenium + Chrome Driver模拟用户操作浏览器,来爬取数据. 在此之前需要做一些准备工作:安装se ...

  2. ssh远程工具_Rsync如何利用SSH加密隧道同步文件

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解Linux系统中的Rsync如何利用SSH ...

  3. ubuntu系统怎么安装ssh服务器配置,如何在Ubuntu 20.04 LTS上安装SSH服务器

    Terminal Linux Logo 在 步骤1.首先,通过apt在终端中运行以下以下命令,确保所有系统软件包都是最新的. sudo apt update sudo apt upgrade 步骤2. ...

  4. 计算机通过路由器连接打印机共享的打印机,如何利用无线路由器进行打印机共享访问操作...

    如何利用无线路由器进行打印机共享访问操作 随着无线网络的快速发展,其应用的范围更加的广阔.现在不少单位已经开始使用无线网络了,在该无线网络环境中虽然我们也可以非常轻松地进行文件夹共享访问操作,但是要想 ...

  5. ssh配置公钥_如何使用公钥认证免密码ssh远程登录Linux服务器

    1. Windows免密码登录Linux服务器 请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 新建用户密钥生成向 ...

  6. day26-3 模拟ssh远程执行命令

    目录 模拟ssh远程执行命令 服务器 客户端 模拟ssh远程执行命令 实现在客户端输入执行命令后,返回执行命令的信息.如输入dir,显示当前目录下的所有文件和文件夹 服务器 import socket ...

  7. ssh 连接_怎样解决Linux环境下远程连接ssh速度慢的问题

    哈喽各位爱学习的小伙伴们,我最近遇到了一个ssh远程慢的问题,输入ssh后,需要等10+s才会出现密码验证的页面,通过 ssh ip -vv 查看,连接慢速的节点是DNS解析的过程,/etc/reso ...

  8. Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示

    Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示 目录 输出结果 实现代码 输出结果 实现代码 %Brownian motion clf; n=20; s=0.02; x = rand ...

  9. Matlab:利用Matlab实现布朗运动模拟

    Matlab:利用Matlab实现布朗运动模拟 目录 输出结果 实现代码 输出结果 实现代码 n=40 s=0.04 x=rand(n,1)-0.5; y=rand(n,1)-0.5; h=plot( ...

最新文章

  1. python怎么知道用哪个库使用-dir、help 查看python 库 对应的方法 和使用
  2. ASP.net Joyrock异步应用示例、JSON-RPC使用方法
  3. [JavaScript Java] 初识Closure Tools(一)
  4. matlab指纹图像采集,基于MATLAB实现的指纹图像预处理
  5. linux shell字符串及字符串长度获取方式
  6. 【IT界的厨子】酱香鲈鱼
  7. VB讲课笔记14:二级VB知识点总结
  8. python类:描述器Descriptors和元类MetaClasses
  9. Android音视频开发
  10. tr,dr发音/tu,du发音
  11. 虚拟化和禁用安全启动的设置
  12. 层次化网络设计(三层网络结构)
  13. Window安装Redis并设置为开机启动
  14. eclipse编写web.xml中出现The word ‘...‘ is not correctly spelled
  15. MySQL(二)查询操作
  16. el-checkbox-group 点击box 没反应,无法取消勾选(记一次debug的思路)
  17. 宝尚炒股杠杆近期部分上下环绕动摇的节奏
  18. springboot+mysql+基于Spring boot开发电子宿舍管理系统 毕业设计-附源码132056
  19. 拜日式精准引导词_拜日式引导词
  20. 在忙碌的工作中如何保持高效率?

热门文章

  1. Kubernetes调度器-Pod分配给节点(node-pod亲和性、固定节点)
  2. Java web登录拦截器_Spring MVC 拦截器实现登录
  3. 使用xpath定位元素,报Message: invalid argument: invalid locator
  4. 常见的设计模式:工厂模式
  5. 关于ret指令的理解
  6. 猎聘网面试题:SimpleDateFormat线程安全吗
  7. 产品经理常用工具锦集
  8. 年底被裁,程序员 2020 年的出路在哪里?,大专生出身
  9. Mysql中到底什么是索引下推,一分钟看懂
  10. 美国fba海运清关基本流程