
public class SSHUtils { private Channel channel; private Session session = null; private int timeout = 60000; public SSHUtils(final String ipAddress,final String username,final String password) throws Exception { Jsch Jsch = new Jsch(); this.session = Jsch.getSession(username,ipAddress,22); this.session.setPassword(password); this.session.setConfig("StrictHostKeyChecking","no"); this.session.setTimeout(this.timeout); this.session.connect(); this.channel = this.session.openChannel("shell"); this.channel.connect(1000); } public String runShell(String cmd,String charset) throws Exception { String temp = null; inputStream instream = null; OutputStream outstream = null; try { instream = this.channel.getinputStream(); outstream = this.channel.getoutputStream(); outstream.write(cmd.getBytes()); outstream.flush(); Thread.sleep(2000); if (instream.available() > 0) { byte[] data = new byte[instream.available()]; int nLen = instream.read(data); if (nLen < 0) { throw new Exception("network error."); } temp = new String(data,nLen,"UTF-8"); } } finally { outstream.close(); instream.close(); } return temp; } public voID close() { this.channel.disconnect(); this.session.disconnect(); } public static voID main(final String[] args) throws Exception { SSHUtils sshUtil = new SSHUtils("10.5.31.157","root","codyy#123456"); String res = sshUtil.runShell("/usr/local/baseframe/server.sh start configserver-1.0.0.jar\n","utf-8"); System.out.println(res); sshUtil.close(); }}总结
以上是内存溢出为你收集整理的jsch通过SSH2执行linux命令全部内容,希望文章能够帮你解决jsch通过SSH2执行linux命令所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)