У меня есть Java-программа, использующая jsch, которая подключается к одному Unix-серверу и отображает количество файлов на нем. Теперь мне нужно подключиться к другому Unix-серверу и скопировать один файл с него на первый сервер.

код ниже пакета unix;

импорт java.io.BufferedReader; импорт java.io.IOException; импорт java.io.InputStreamReader; импорт java.util.Вектор; импорт com.jcraft.jsch.Channel; импорт com.jcraft.jsch.ChannelExec; импорт com.jcraft.jsch.ChannelSftp; импорт com.jcraft.jsch.JSch; импорт com.jcraft.jsch.JSchException; импорт com.jcraft.jsch.сессия; импорт com.jcraft.jsch.SftpException;

открытый класс DemoSftp {

public static void main(String[] args) throws JSchException, SftpException, IOException {

    String hostname = "hostname";
    String login = "login";
    String password = "password";
    String directory = "x/y/z";

    java.util.Properties config = new java.util.Properties();
    config.put("StrictHostKeyChecking", "no");

    JSch ssh = new JSch();
    Session session = ssh.getSession(login, hostname, 22);
    session.setConfig(config);
    session.setPassword(password);
    session.connect();

    Channel channel = session.openChannel("sftp");
    channel.connect();
    ChannelSftp sftp = (ChannelSftp) channel;
    sftp.cd(directory);
    Vector files = sftp.ls("*");
    System.out.printf("Found %d files in dir %s%n", files.size(), directory);
  channel.disconnect();
    session.disconnect();

}

}

на втором сервере также мне нужно дать имя пользователя и пароль. Не могли бы вы мне помочь?

0