Java SSH Ganymed - Случайная ошибка при попытке подключения с именем пользователя и паролем - PullRequest
1 голос
/ 15 апреля 2019

Мы используем библиотеку для подключения через ssh с именем пользователя и паролем. Иногда метод connection.authenticateWithPassword возвращает значение false (полученное сообщение: SSH_MSG_USERAUTH_FAILURE) и другие работает правильно, возвращая значение true. Имя пользователя и пароль верны во всех случаях.

На данный момент для подключения доступно множество методов: publickey, gssapi-keyex, gssapi-with-mic и password. Среди них присутствует метод пароля, и на самом деле метод connection.isAuthMethodAvailable (this.username, "password") возвращает значение true.

Мы добавили ведение журнала библиотеки, но до сих пор не нашли никаких ошибок.

Есть идеи, чтобы помочь нам?

private Connection createConnection() throws IOException, InterruptedException {

        logger.debug("Creating ssh connection...");

        Connection connection = new Connection(this.ip, this.port);
        connection.setTCPNoDelay(this.tcpNoDelay);
        connection.connect(null, this.connectTimeout, this.kexTimeout);     

        if(connection.isAuthMethodAvailable(this.username, "password")) {
            if(!connection.authenticateWithPassword(this.username, this.password)) {
                logger.debug("Authentication failed!");
                connection.close();
                throw new IOException("Authentification failed");
            }
        } else {
            logger.debug("Authentication password method is not available!!");
        }

        logger.debug("Connection was created successfull!");
        return connection;
    }

1 Ответ

0 голосов
/ 15 апреля 2019

Можете ли вы предоставить более подробную информацию об успехах и неудачах. Непонятно, являются ли успехи и неудачи случайными на одном устройстве, или что вы успешно прошли аутентификацию на одном устройстве, но не на другом?

Если он постоянно отказывает по отношению к определенному устройству, то о каких параметрах аутентификации сообщает устройство?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...