Sobes.tech
Назад к вопросам
Junior — Middle
73

Можешь ли ты установить удалённое соединение с сервером для выполнения операций?

Компании, где спрашивали
ВТБВТБ

Ответ от нейросети

sobes.tech AI

Да, в Java можно установить удалённое соединение с сервером для выполнения операций. Для этого часто используют протоколы SSH или RMI (Remote Method Invocation).

Пример с использованием SSH можно реализовать через библиотеку JSch:

import com.jcraft.jsch.*;

public class RemoteExecutor {
    public static void main(String[] args) {
        String host = "remote.server.com";
        String user = "username";
        String password = "password";

        try {
            JSch jsch = new JSch();
            Session session = jsch.getSession(user, host, 22);
            session.setPassword(password);
            session.setConfig("StrictHostKeyChecking", "no");
            session.connect();

            ChannelExec channel = (ChannelExec) session.openChannel("exec");
            channel.setCommand("ls -la");
            channel.setErrStream(System.err);
            channel.setInputStream(null);

            InputStream in = channel.getInputStream();
            channel.connect();

            byte[] tmp = new byte[1024];
            while (true) {
                while (in.available() > 0) {
                    int i = in.read(tmp, 0, 1024);
                    if (i < 0) break;
                    System.out.print(new String(tmp, 0, i));
                }
                if (channel.isClosed()) {
                    break;
                }
                Thread.sleep(100);
            }
            channel.disconnect();
            session.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Таким образом, можно выполнять команды на удалённом сервере из Java-приложения.