/*1、启动外部进程*/Process process = new ProcessBuilder("bash").redirectErrorStream(true).start();/*2、执行ssh登录命令*/BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));bw.write("ssh -o PubkeyAuthentication=no -o StrictHostKeyChecking=no -t -t root@192.168.1.11");bw.newLine();bw.flush();/*3、试图获取回显*///Thread.sleep(3000);BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));char[] ch = new char[1024];int len = 0;while ((len = br.read(ch)) > -1) { System.out.print("回显长度("+len+"):"+new String(ch, 0, len));}
linux:/app # java -classpath . SSHClientroot@192.168.170.64's password:
ssh -o BatchMode=yes root@192.168.1.11
If set to “yes”, passphrase/password querying will be disabled. This option is useful in scripts and other batch jobs where no user is present to supply the password. The argument must be “yes” or “no”. The default is “no”.