【发布时间】:2011-07-12 06:26:57
【问题描述】:
您好,我正在尝试通过 ssh 连接到 4 台服务器,但我只进入了第 1 台服务器,其余的都没有。如果有人可以让我知道我在这段代码中哪里出错了。
try {
File f = new File("/usr/site/html/Output.txt");
BufferedWriter output = new BufferedWriter(new FileWriter(f));
out.println(f.getPath());
String Servers[] = {"root@a1.xyz.com","root@a2.xyz.com","root@a3.xyz.com","root@a4.xyz.com"};
for(int i =0;i<Servers.length;i++){
Process p = Runtime.getRuntime().exec("ssh "+Servers[i]);
output.write("\nI'm In"+Servers[i]);
String s = "exit";
byte[] byteS = s.getBytes();
p.getOutputStream().write(byteS);
output.write("\nI'm logged out ");
output.close();
}
到目前为止,我只能登录第一个。有什么建议么??
谢谢
【问题讨论】:
-
您可能想尝试使用 java ssh 库而不是转到命令行。 Jsch 效果很好。
-
感谢乔恩,我也会尝试一下!但在将 output.close() 移出循环后,它对我来说到目前为止有效