最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何利用Ganymed SSH-2模擬SSH操作

 更新時(shí)間:2013年08月30日 09:16:31   作者:  
這幾天看SFTP資料時(shí),無(wú)意中看到了Ganymed SSH-2,寫(xiě)了個(gè)簡(jiǎn)單demo,通過(guò),感覺(jué)挺好用的,下面就和大家分享下。需要的朋友可以過(guò)來(lái)參考參考

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

簡(jiǎn)介:
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.

程序:

復(fù)制代碼 代碼如下:

        @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);
                }
        }

運(yùn)行結(jié)果:
復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • Java異常類(lèi)型以及處理實(shí)例詳解

    Java異常類(lèi)型以及處理實(shí)例詳解

    在程序設(shè)計(jì)中,進(jìn)行異常處理是非常關(guān)鍵和重要的一部分,一個(gè)程序的異常處理框架的好壞直接影響到整個(gè)項(xiàng)目的代碼質(zhì)量以及后期維護(hù)成本和難度,這篇文章主要給大家介紹了關(guān)于Java異常類(lèi)型以及處理的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • JetBrains?發(fā)布下一代?IDE無(wú)比輕量幾秒就能啟動(dòng)干活

    JetBrains?發(fā)布下一代?IDE無(wú)比輕量幾秒就能啟動(dòng)干活

    雖然?JetBrains?公司說(shuō)?Fleet?的定位和目標(biāo)并不是代替其他?IDE,但個(gè)人覺(jué)得,?如果?Fleet?火起來(lái)了,其他?IDE?就會(huì)黯然失色,特別是多語(yǔ)言開(kāi)發(fā)者,誰(shuí)愿意裝多個(gè)?IDE?呢?到時(shí)候,可能?JetBrains?以后的所有?IDE?要一統(tǒng)江湖了
    2021-12-12
  • Java FTPClient實(shí)現(xiàn)文件上傳下載

    Java FTPClient實(shí)現(xiàn)文件上傳下載

    這篇文章主要為大家詳細(xì)介紹了Java FTPClient實(shí)現(xiàn)文件上傳下載的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • Java中的魔法值解決

    Java中的魔法值解決

    這篇文章主要介紹了Java中的魔法值解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Scala遞歸函數(shù)調(diào)用自身

    Scala遞歸函數(shù)調(diào)用自身

    這篇文章主要介紹了Scala遞歸函數(shù),Scala遞歸函數(shù)是一種函數(shù)可以調(diào)用自身的函數(shù),直到滿足某個(gè)特定的條件為止。在函數(shù)式編程的語(yǔ)言中,遞歸函數(shù)起著重要的作用,因?yàn)樗梢杂脕?lái)表示循環(huán)或迭代的邏輯
    2023-04-04
  • Java BigDecimal案例詳解

    Java BigDecimal案例詳解

    這篇文章主要介紹了Java BigDecimal案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java中簡(jiǎn)單的截取分割字符串實(shí)例

    java中簡(jiǎn)單的截取分割字符串實(shí)例

    下面小編就為大家?guī)?lái)一篇java中簡(jiǎn)單的截取分割字符串實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Swagger中@ApiIgnore注解的使用詳解

    Swagger中@ApiIgnore注解的使用詳解

    這篇文章主要介紹了Swagger中@ApiIgnore注解的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Spring Boot兩種配置文件properties和yml區(qū)別

    Spring Boot兩種配置文件properties和yml區(qū)別

    這篇文章主要為大家介紹了java面試中常見(jiàn)問(wèn)到的Spring Boot兩種配置文件properties和yml區(qū)別解答,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • java 中List按照date排序的實(shí)現(xiàn)

    java 中List按照date排序的實(shí)現(xiàn)

    這篇文章主要介紹了java 中List按照date排序的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評(píng)論

监利县| 阿尔山市| 霍城县| 拉萨市| 南靖县| 年辖:市辖区| 葵青区| 盐山县| 长泰县| 霍山县| 福安市| 柳州市| 文登市| 濮阳市| 松阳县| 垦利县| 浏阳市| 布拖县| 祁东县| 灌南县| 盘山县| 宜兰县| 茂名市| 惠安县| 海淀区| 砚山县| 金川县| 武宣县| 文成县| 公主岭市| 本溪市| 苗栗市| 德州市| 淮南市| 巧家县| 达州市| 井陉县| 京山县| 隆子县| 登封市| 云林县|