如何利用Ganymed SSH-2模拟SSH操作_java

官方地址:http://www.cleondris.ch/en/opensource-ssh2.php

简介:
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

时间: 2024-08-30 05:15:40

如何利用Ganymed SSH-2模拟SSH操作_java的相关文章

利用Visual C#编程模拟鼠标操作

visual|编程|鼠标 有时,我们需在我们的程序中模拟鼠标的移动.点击等动作.--比如,一个再现用户操作的宏,或者一个演示操作方法的Demo程序.那么,我们在.Net中如何实现呢? .Net并没有提供改变鼠标指针位置.模拟点击操作的函数:但是Windows API提供了.其中一个是: [DllImport("user32.dll")]static extern bool SetCursorPos(int X, int Y); 该函数可以改变鼠标指针的位置.其中X,Y是相对于屏幕左上角

SSH概念及常用操作汇总

工作有一段时间了,经常用SSH登录远程机器,但对原理一直不是很了解,所以查阅了一些资料,写个小结. 一. SSH是什么? SSH的全称是Secure Shell, 是一种"用来在不安全的网络上安全地运行网络服务的一种加密网络协议". 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露. 最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑.19

问下。rds实例也是允许用ssh连接上去进行操作的吗?

问题描述 问下.rds实例也是允许用ssh连接上去进行操作的吗? 解决方案 解决方案二:AmazonRDS不允许主机直接通过Telnet.安全外壳(SSH)或Windows远程桌面连接访问数据库实例.https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/CHAP_MySQL.html

c#如何后台模拟鼠标操作?

问题描述 注意我问的是后台模拟鼠标,光标移动-点击-返回这个不是后台,因为它利用的是前台鼠标跟后台扯不上边都,我问的是后台,后台.........不影响你的鼠标正常使用完成后台模拟 解决方案 解决方案二:是不是想用控别的软件,像按键精灵一样?最好用C++写一个系统钩子.解决方案三:找到控件句柄,发送消息就行.解决方案四:http://download.csdn.net/detail/mjp1234airen4385/1550580这个是C++的,你看看,有没有用解决方案五:查找句柄,发对应的消息

JavaScript利用HTML DOM进行文档操作的方法_javascript技巧

HTML DOM 树 一.DOM简介 DOM是W3C制定的用于访问诸如XML和XHTML等结构化文档的标准. W3C文档对象模型(DOM)是一个使程序和脚本有能力动态地访问和更新文档的内容.结构以及样式的平台和语言中立的接口 核心DOM:用于任何结构化文档的标准模型 XML DOM:用于XML文档的标准模型.是用于获取.更改.添加或删除XML元素的标准. HTML DOM: 用于HTML文档的标准模型.定义了所有HTML元素的对象和属性,以及访问它们的方法(接口). 二.DOM节点 根据DOM规

Delphi编程模拟鼠标操作

本实例介绍如何在自己的程序里面模拟鼠标的常用操作. 首先启动一个新的项目,在空白的窗体上添加4个TButton组件.添加组件后的窗体如图1所示. 图1 添加组件后的窗体 这4个按钮分别用于模仿鼠标的4个动作--移动鼠标到指定位置.左键单击.左键双击和右键单击. 下面以鼠标左键单击为例来说明如何模拟鼠标操作: procedure TForm1.btnLClickClick(Sender: TObject);begin SetCursorPos(10,10); mouse_event(MOUSEEV

如何利用无线路由器进行打印机共享访问操作

  随着无线网络的快速发展,其应用的范围更加的广阔.现在不少单位已经开始使用无线网络了,在该无线网络环境中虽然我们也可以非常轻松地进行文件夹共享访问操作,但是要想进行打印机共享访问操作还没有那么方便. 那么能否找到一条有效的办法在无线路由器工作环境中,也能轻松地进行打印机共享访问操作呢?事实上,要想利用无线路由器进行打印机共享访问操作也不是多大的难事,只要按照下面的操作就能轻松实现打印机共享访问目的: 首先在无线网络工作环境中,找一台与无线路由器设备能够顺畅连接的普通工作站,以系统管理员身份登录

C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站

原文:C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站 我们经常会碰到需要程序模拟登录一个网站,那如果网站需要填写验证码的要怎样模拟登录呢?这篇文章利用了 HttpWebRequest 和 HttpWebResponse 模拟登录了有验证码的网站. 程序设计的界面很简单,三个TextBox分别输入用户名.密码和验证码,一个Image控件显示从网站请求到的验证码图片,还有两个按钮,一个换验证码,一个登录. 写程序前,先用浏览器的开发者工具观察下登

模拟鼠标操作,随机点击页面中url

问题描述 1.读取proxy.txt,里面为如下格式,代表代理服务器的地址和端口:12.12.12.12900012.12.12.12900012.12.12.1290002.按proxy.txt,随机选取一个代理服务器地址,设置为IE的代理服务器,设置好后,打开某特定网页,网页中,有很多的URL链接,然后,模拟鼠标操作,随机点击页面中url,一定时间后,关闭所有打开的IE页面.3.再换一个新的代理服务器地址,重复2该怎么实现呀,java可以做到吗?谢谢了! 解决方案 解决方案二:这个比较适合用

如何利用DOS批处理实现定时关机操作详解_DOS/BAT

一.批处理释义: 批处理(Batch),也称为批处理脚本.它是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,应用于DOS和Windows系统中.批处理文件的扩展名为bat. 目前比较常见的批处理包含两类:DOS批处理和PS批处理.PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本:而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本. 二.编写批处理文件: (1)新建一个文本文件,在里面写上DOS命令语句.然后选择另存为改文