【问题标题】:run shell command in java that prompt for username password在java中运行提示输入用户名密码的shell命令
【发布时间】:2016-02-20 03:33:45
【问题描述】:

我正在通过 java 代码重新启动在我的 unix 服务器上运行的应用程序。 这涉及 1) 使用用户名和密码登录服务器,然后运行 ​​retsart 命令提示输入密码,这是它在 shell 级别完成的方式

$ ssh hostname
users's password:
$ sudo appname start
[sudo] password for user:
 App restarted

我正在尝试使用 java 代码执行此操作,我可以使用 jsch 登录到服务器,但不确定如何运行提示输入密码的命令。 这可以做到吗?如果是,我有什么选择?

【问题讨论】:

    标签: java shell unix sudo


    【解决方案1】:

    如果您使用 JSch ChannelExec 运行远程命令,您可以通过调用 channel.setInputStream() 来指定远程命令接收的输入流。然后传递的输入流可以包含您的密码(作为字节数组?参见ByteArrayInputStream

    【讨论】:

      猜你喜欢
      • 2012-11-08
      • 2021-05-15
      • 2018-11-15
      • 2020-03-11
      • 1970-01-01
      • 2011-05-03
      • 2016-01-30
      • 2011-06-18
      相关资源
      最近更新 更多