我正在通过java代码重新启动运行在我的unix服务器上的应用程序。 这涉及1)使用用户名和密码登录服务器,然后运行retsart命令,提示输入密码,这是它在shell级别完成的方式
$ ssh hostname
users's password:
$ sudo appname start
[sudo] password for user:
App restarted
我正在尝试使用java代码执行此操作我可以使用 jsch 登录服务器,但不知道如何运行提示输入密码的命令。 可以这样做吗?如果有,我的选择是什么?
答案 0 :(得分:0)
如果您使用JSch ChannelExec
来运行远程命令,则可以通过调用channel.setInputStream()
来指定远程命令接收的输入流。传递的输入流可能包含您的密码(作为字节数组?请参阅ByteArrayInputStream
)