+-

您好我正在使用ganymed-ssh2 java库成功执行linux工作站中的远程命令.
但现在有一种情况我需要执行一个命令,但这要求我输入一些密码……如:
sudo /usr/bin/some_process
please enter your password:
我曾经以这种方式实现远程cmd执行:
Session sess = conn.openSession();
sess.execCommand("uname -a && date && uptime && who");
System.out.println("Here is some information about the remote host:");
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
System.out.println("ExitCode: " + sess.getExitStatus());
sess.close();
conn.close();
我担心这个库不能执行需要密码的命令.
有人可以给我一个解决方案或替代方案来允许这个???
谢谢!
最佳答案
假设有一个sess.getStdin(),你应该能够输入密码到sudo命令.
点击查看更多相关文章
转载注明原文:使用java执行带有“sudo”的linux shell命令,而不输入所需的密码 - 乐贴网