交互式SSH会话的Java库能够执行多部分命令?

问题描述

| 我目前在Java中使用的是SSH的库,但是它似乎缺乏执行多部分命令的能力(例如,如果我执行“ 0”,则无法再次输入两次密码来更改它,因为它会使您开始每次输入命令时都会进行一次新会话)。我正在开发的当前应用程序确实需要此功能,并且似乎有很多Java SSH库,但是由于某些似乎不允许,我不确定哪个库允许使用此功能。 任何有关一个好的库的建议都值得关注。 结束巡视:如果您要尝试关闭它,请至少引用一个线程,询问与我的问题相同的问题,而不仅是一个通用的“ Whats a good Java ssh library”问题     

解决方法

        我正在成功使用Ganymede SSH-2库。但是,密码提示根本不会出现在应用程序中,它应该是连接设置协商的一部分。     ,        经过大量搜索,我发现了这一点:http://code.google.com/p/enchanter/看起来正是我所需要的,所以我想将其发布在这里以供参考     ,        您可以使用以下命令运行交互式命令,例如\“ passwd user \”
session.getStdin().write() refer following snipped 
connection = new Connection( host,port );
            connection.connect();
            // Authenticate
   boolean result = connection.authenticateWithPassword( username,password );
 Session session = connection.openSession();
session.requestPTY(\"bash\");
session.execCommand( \"passwd testuser\" );
session.getStdin().write(\"newPassword\\n\".getBytes()); // //for new password
session.getStdin().write(\"newPassword\\n\".getBytes()); //for retype new password

 System.out.println( \"ExitCode: \" + session.getExitStatus() );
session.close();
connection.close();