0

JSchクラスを使用して Java プログラムを作成しました。プログラムは ( ls, cd, change) コマンドを正常に実行します。これらのコマンドは入力を必要としません。ただし、/usr/ses/b/krコマンドの実行中にパスワードが必要です。

JSchを使用して Linux サーバーにパスワードを送信する方法を教えてください。それとも別の方法がありますか?

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

1 に答える 1

-1

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{
        //
    }
于 2013-10-28T04:40:07.450 に答える