sftp 経由でリモート サーバーにファイルをアップロードしたいと考えています。Jsch ライブラリを使用しています。以下のコードは機能しますが、Session オブジェクトに値を設定していても、常に出力コンソールからユーザー名とパスワードを入力する必要があります。Stack Overflow と Jsch のサンプルページで見たすべての例では、ユーザー入力が必要です。プログラムでパスワードを渡す方法はありますか? (ユーザー名/パスワードで認証する必要があります。SSH キーを使用できません...)
JSch jsch = new JSch();
ChannelSftp sftpChannel;
Session session;
Channel channel;
OutputStream os;
try {
session = jsch.getSession("myUsername", "myHost", 22);
session.setPassword("myPassword");
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
channel = session.openChannel("sftp");
channel.connect();
sftpChannel = (ChannelSftp) channel;
os = sftpChannel.getOutputStream();
} catch (Exception e) {
}