ssh提示输入密码回显

/*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 [email protected]");
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 . SSHClient
[email protected]'s password:

ssh -o BatchMode=yes [email protected]

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”.


你可能感兴趣的:(ssh,ProcessBuilder,BatchMode)