使用java更改远程unix服务器的密码
我正在寻找一种通过java代码将passwd发送到远程unix服务器的方法。我正在使用Jsch,我可以成功地执行find、zip、get等命令。但当我传递“passwd”命令时,什么也没发生。其目的是创建一个应用程序,该应用程序可以每10天更改unix服务器的密码 这是我正在尝试使用的代码(find命令工作正常)使用java更改远程unix服务器的密码,java,unix,jsch,passwd,Java,Unix,Jsch,Passwd,我正在寻找一种通过java代码将passwd发送到远程unix服务器的方法。我正在使用Jsch,我可以成功地执行find、zip、get等命令。但当我传递“passwd”命令时,什么也没发生。其目的是创建一个应用程序,该应用程序可以每10天更改unix服务器的密码 这是我正在尝试使用的代码(find命令工作正常) passwd命令需要交互输入(即从stdin读取),请参阅了解我在不使用线程的情况下运行下一个命令的情况。睡眠工作: echo -e \"new-password\nnew-passw
passwd
命令需要交互输入(即从stdin读取),请参阅了解我在不使用线程的情况下运行下一个命令的情况。睡眠工作:
echo -e \"new-password\nnew-password\" | passwd user-linux
如果我不得不猜测的话,问题是
passwd
在您运行它之后请求输入,而您的程序可能无法正确处理。请发布一些相关的代码,这样我们就可以看到你现在正在做什么。您是否能够与请求用户输入的其他命令交互,或者仅与发送到STDOUT的命令交互?在(!ch.isClosed())测试时,请不要使用available()
和。他们俩都不像你想的那样。循环应该是while((字节=in.read(buffer))>0).
echo -e \"new-password\nnew-password\" | passwd user-linux