0
我已經使用JSch類創建了java程序。程序成功執行(ls, cd, change
)命令。這些命令需要任何輸入。但是在執行/usr/ses/b/kr
命令時,它需要密碼。與使用java的linux服務器進行交互JSCH
您可以請回復我怎樣才能發送密碼到Linux服務器使用JSch。或者還有別的辦法嗎?
((ChannelExec)channel).setCommand("/usr/ses/b/kr;");
我已經使用JSch類創建了java程序。程序成功執行(ls, cd, change
)命令。這些命令需要任何輸入。但是在執行/usr/ses/b/kr
命令時,它需要密碼。與使用java的linux服務器進行交互JSCH
您可以請回復我怎樣才能發送密碼到Linux服務器使用JSch。或者還有別的辦法嗎?
((ChannelExec)channel).setCommand("/usr/ses/b/kr;");
您應該設置StrictHostKeyChecking屬性「no」,並且通道應該設置爲shell.as以下。
String username = "xxxyyyzzz";
String password = "aaabbbccc";
String host = "192.168.1.1"; // sample ip address
if(command.getText().toString() != ""){
JSch jsch = new JSch();
try {
session = jsch.getSession(username, host, 22);
session.setPassword(password);
Properties properties = new Properties();
properties.put("StrictHostKeyChecking", "no");
session.setConfig(properties);
session.connect(30000);
channel = session.openChannel("shell");
channel.setInputStream(bais);
channel.setOutputStream(baos);
channel.connect();
} catch (JSchException e) {
// TODO Auto-generated catch block
}
}
else{
//
}
請問可以告訴bais的數據類型以及bais和baos的初始值是否可變。 –
沒關係,你可以使用channel.setInputStream(System.in); channel.setOutputStream(System.out);改爲 。 –
我根據建議進行了更改,不顯示任何內容。我想執行命令/ usr/ses/b/kr;以密碼爲輸入。感謝您的回覆 –