SSH远程连接执行shell脚本
来源:互联网 发布:linux卸载jenkins 编辑:程序博客网 时间:2024/05/13 02:19
有时候项目会要求远程登录到主机进行脚本执行,本来以为通过跳板机连接到主机的,使用SSH会有问题,
事实证明,使用SSH可以实现直连
import java.io.InputStream;import java.nio.charset.Charset;import ch.ethz.ssh2.ChannelCondition;import ch.ethz.ssh2.Connection;import ch.ethz.ssh2.ConnectionInfo;import ch.ethz.ssh2.Session;import ch.ethz.ssh2.StreamGobbler;public class testSSH {private String ip = "****";//连接的ip private String user ="***";//登录名private String password = "";//登录密码private static final int TIME_OUT = 1000 * 5 * 60;//连接超时设置private String charset = Charset.defaultCharset().toString();public boolean testShell(){ boolean flag = false;InputStream stdOut = null;InputStream stdErr = null;String outStr = "";String outErr = "";String shell = "***";//需要执行shell命令 try { System.out.println(ip); Connection con = new Connection(ip); System.out.println("连接打开"); ConnectionInfo info = con.connect(); boolean result = con.authenticateWithPassword(user, password); System.out.println("登陆成功"); Session session = con.openSession(); System.out.println("打开会话"); session.execCommand(shell); System.out.println("成功"); stdOut = new StreamGobbler(session.getStdout());//获取脚本执行的返回值 outStr = processStream(stdOut, charset);// stdErr = new StreamGobbler(session.getStderr());//处理返回信息 outErr = processStream(stdErr, charset); session.waitForCondition(ChannelCondition.EXIT_STATUS, TIME_OUT); System.out.println("outStr=" + outStr); System.out.println("outErr=" + outErr); flag = true; } catch (Exception ex) { System.out.println(ex.getLocalizedMessage()); } return flag;} private String processStream(InputStream in, String charset) throws Exception { byte[] buf = new byte[1024]; StringBuilder sb = new StringBuilder(); while (in.read(buf) != -1) { sb.append(new String(buf, charset)); } return sb.toString(); }public static void main(String args[]){testSSH test = new testSSH();test.testShell();}}
0 0
- SSH远程连接执行shell脚本
- Java SSH远程执行Shell脚本实现
- Java SSH远程执行Shell脚本实现
- Java SSH远程执行Shell脚本实现
- Java SSH远程执行Shell脚本实现
- Java程序SSH远程执行Shell脚本
- Java SSH远程执行Shell脚本实现
- Java SSH远程执行Shell脚本实现
- ssh远程执行脚本
- ssh 远程执行脚本
- Java利用ssh工具远程执行shell脚本
- Java SSH远程执行Shell脚本实现(转)
- Java实践 — SSH远程执行Shell脚本
- shell技巧--ssh远程执行包含nohup命令的脚本
- Java实践 — SSH远程执行Shell脚本
- ssh远程到目标机器执行命令shell脚本
- Linux下通过EXPECT脚本自动执行ssh远程连接
- Linux下通过EXPECT脚本自动执行ssh远程连接
- linux下重启tomcat
- Android判断是否首次登录
- 关于time_t和 struct tm
- coach outlet 7vwu bLDs bBSo
- 如何写jquery插件
- SSH远程连接执行shell脚本
- 哈希表存储效率50%的原因
- 取消开机自检
- cheap nike shoes fGlu 5Z7r Tvz5
- 巧用App_Start文件夹启动Ninject-IOC容器
- louis vuitton bags ropU drNd d1VM
- Linux下几种文件传输命令 sz rz sftp scp
- 统计tcp状态
- ios网络学习------10 原生API文件上传