crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Libssh + Qt
Гость_Prophet_*
сообщение 18.6.2010, 15:53
Сообщение #1





Гости








    


Есть задача: Приложение должно иметь возможность удалённо администрировать устройства с линуксом на борту через ssh. Лучшим вариантом было бы просто вызывать для необходимого устройства подобие консоли и работать как из обычной через ssh соединение. Вопрос : Как можно это организовать? Кто работал с ссш под Qt?
Примечание: libssh 0.3.4
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_Prophet_*
сообщение 21.6.2010, 10:28
Сообщение #2





Гости








    


Скомпилить не проблема. Приложение гуишное, то что имеется сейчас даже подключаться не хочет. Проблема в том чтобы из под гуи дать юзверю работать под "виртуальной консолью".
Вот то что не подключается.
SSH::SSH()
{
    //int ret;

    ssh = ssh_new();
    ssh_opt = ssh_options_new();
    //ret = ssh_option_set_wanted_algos(ssh_opt,KEX_COMP_C_S,"none");
    //ret = ssh_option_set_wanted_algos(ssh_opt,KEX_COMP_S_C,"none");

    ssh_options_set_port (ssh_opt, 22);
    ssh_options_set_host (ssh_opt, "127.0.0.1");
    ssh_options_set_username (ssh_opt, "root");
    ssh_set_options (ssh, ssh_opt);

    ssh_is_server_known(ssh);

    if (ssh_connect(ssh) != SSH_OK)
    {
        qDebug("Error at connection :%s\n",ssh_get_error(ssh));
        return;
    }

    channel = channel_new(ssh);

    if(channel_open_session(channel) !=0)
    {
        qDebug("Error at channel opening :%s\n",ssh_get_error(ssh));
        return;
    }

    /*if(ssh_userauth_password(ssh, "root", "pass") != SSH_AUTH_SUCCESS)
    {
        qDebug("Error at connection :%s\n",ssh_get_error(ssh));
        return;
    }

    if(ssh_userauth_kbdint(ssh, "root", NULL) != SSH_AUTH_SUCCESS)
    {
        qDebug("Error at connection :%s\n",ssh_get_error(ssh));
        return;
    }

    if (ssh_userauth_autopubkey(ssh, "hello") != SSH_AUTH_SUCCESS)
    {
        qDebug("Authenticating with pubkey: %s\n",ssh_get_error(ssh));

        if (ssh_userauth_password (ssh, "root", "pass") != SSH_AUTH_SUCCESS)
        {
            qDebug("Authentication with password failed: %s\n",ssh_get_error (ssh));
            return;
        }
    }*/
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.1.2025, 17:33