У меня есть 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();
}
}
на втором сервере также мне нужно дать имя пользователя и пароль. Не могли бы вы мне помочь?