+-
使用java执行带有“sudo”的linux shell命令,而不输入所需的密码
您好我正在使用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命令,而不输入所需的密码 - 乐贴网