使用java JSCH与linux服务器交互

时间:2013-10-28 04:32:16

标签: java linux unix ssh jsch

我使用 JSch 类创建了java程序。程序成功执行(ls, cd, change)命令。这些命令dint需要任何输入。但在执行/usr/ses/b/kr命令时,它需要密码

请您回复一下如何使用 JSch 向linux服务器发送密码。或者还有其他方式吗?

((ChannelExec)channel).setCommand("/usr/ses/b/kr;");

1 个答案:

答案 0 :(得分:-1)

你应该将StrictHostKeyChecking属性设置为“no”,并且应该在下面设置channel.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{
        //
    }