如何解决交互式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();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。