x2go (кто использует)

Модераторы: broom, Hoblin, dimbor

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 01.12.2016 22:26

По поводу невозможности проброса папок в винде (win 8 и выше) на сервер.

Поподробнее можно?
Скачал Win8.1. Установил в виртуалке. Spool монтируется без ошибок. Папка с рабочего стола тоже или я не про то...
Изображение
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 01.12.2016 23:53

yukirin писал(а):
01.12.2016 22:26
По поводу невозможности проброса папок в винде (win 8 и выше) на сервер.

Поподробнее можно?
Скачал Win8.1. Установил в виртуалке. Spool монтируется без ошибок. Папка с рабочего стола тоже или я не про то...
Изображение

Да вроде про то. Это все та же проблема ошибка при подключении к серверу x2go с печатью
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15814
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: x2go

Сообщение Bizdelnick » 02.12.2016 00:00

Tlon писал(а):
01.12.2016 23:53
Это все та же проблема ошибка при подключении к серверу x2go с печатью

Таки сгенерируйте уже ключи.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 02.12.2016 00:43

Bizdelnick писал(а):
02.12.2016 00:00
Tlon писал(а):
01.12.2016 23:53
Это все та же проблема ошибка при подключении к серверу x2go с печатью

Таки сгенерируйте уже ключи.

В винде? Вот такая ошибка, если детальнее
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for '/cygdrive/C/Users/*******/.x2go/etc/ssh_host_dsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
key_load_private: bad permissions
Could not load host key: /cygdrive/C/Users/**********************/.x2go/etc/ssh_host_dsa_key
Disabling protocol version 2. Could not load host key
sshd: no hostkeys available -- exiting.
А ключи в папке лежат. Сейчас попробую cygwin поставить и через него поиграться с чмодами
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 05.12.2016 10:55

Установил себе последнюю сборку(4.0.5.2) win-клиента (предварительно зачистив реестр и папку .x2go) и получил окошко о невозможности printing and file sharing, озвученное здесь и в теме ошибка при подключении к серверу x2go с печатью.
А в режиме дебага сообщение описанное Tlon:
По поводу невозможности проброса папок в винде (win 8 и выше) на сервер. В режиме дебага ошибка failed to start user mode OpenSSH server
Это значит, что локально ssh-сервер не может подняться по какой-то причине и сгенерить себе ключи.


Правда от версии операционки это не зависит и на win7, и на win8 одно и тоже.

Так вот в режиме дебага в папке sshLogs в логе подключения висело сообщение что сервер не может подняться по причине отсутствия файлика ssh_host_dsa_key в то время как в этой папке лежал ключ ssh_host_rsa_key. Изучение changelog проекта показал что уже со сборки 4.0.5.2 они изменили тип аутентификации на rsa -

- src/onmainwindow.h: rename ONMainWindow::generateHostDsaKey () to
ONMainWindow::generateHostKey () and make key type selectible. Fixes:
#1003. Host key type selection currently only works within the code. Replace
calls to former ONMainWindow::generateHostDsaKey () with the generalized
function and request an RSA-type key.


в то время как ssh-сервер хочет запуститься с ключем ssh_host_dsa_key.

Собственно, немножко анализа кода в части запуска ssh-сервера и подтвердил мои предположения... поменяв в двух местах буковки с d на r и собрав проект получил абсолютно рабочюю программу:

Изображение

Остается надеятся на исправление данной ошибки разработчиками в ближайшем будущем...

Предыдущий релиз 4.0.5.1 рабочий.
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 05.12.2016 12:09

yukirin писал(а):
05.12.2016 10:55
Установил себе последнюю сборку(4.0.5.2) win-клиента (предварительно зачистив реестр и папку .x2go) и получил окошко о невозможности printing and file sharing, озвученное здесь и в теме ошибка при подключении к серверу x2go с печатью.
А в режиме дебага сообщение описанное Tlon:
По поводу невозможности проброса папок в винде (win 8 и выше) на сервер. В режиме дебага ошибка failed to start user mode OpenSSH server
Это значит, что локально ssh-сервер не может подняться по какой-то причине и сгенерить себе ключи.


Правда от версии операционки это не зависит и на win7, и на win8 одно и тоже.

Так вот в режиме дебага в папке sshLogs в логе подключения висело сообщение что сервер не может подняться по причине отсутствия файлика ssh_host_dsa_key в то время как в этой папке лежал ключ ssh_host_rsa_key. Изучение changelog проекта показал что уже со сборки 4.0.5.2 они изменили тип аутентификации на rsa -

- src/onmainwindow.h: rename ONMainWindow::generateHostDsaKey () to
ONMainWindow::generateHostKey () and make key type selectible. Fixes:
#1003. Host key type selection currently only works within the code. Replace
calls to former ONMainWindow::generateHostDsaKey () with the generalized
function and request an RSA-type key.


в то время как ssh-сервер хочет запуститься с ключем ssh_host_dsa_key.

Собственно, немножко анализа кода в части запуска ssh-сервера и подтвердил мои предположения... поменяв в двух местах буковки с d на r и собрав проект получил абсолютно рабочюю программу:

Изображение

Остается надеятся на исправление данной ошибки разработчиками в ближайшем будущем...

Предыдущий релиз 4.0.5.1 рабочий.


Ну я пока в сорцы не лазил, видимо придется. Пока отписал в bug-track. В моем случае не работает любая версия программы с виндой версии равной или выше 8
С чем это связано - пока окончательно непонятно.

Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 05.12.2016 12:21

Т.е. проблема в чмодах, ключи есть
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15814
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: x2go

Сообщение Bizdelnick » 05.12.2016 12:26

yukirin писал(а):
05.12.2016 10:55
в то время как ssh-сервер хочет запуститься с ключем ssh_host_dsa_key.

Вообще-то обычно создаются оба этих ключа, а в актуальных версиях openssh ещё и ecdsa.

yukirin писал(а):
05.12.2016 10:55
поменяв в двух местах буковки с d на r и собрав проект получил абсолютно рабочюю программу:

Так делать не надо. Верните как было и сгенерируйте rsa-ключ отдельно. ssh-keygen -A должна делать сразу все нужные ключи, если не работает — ssh-keygen -t rsa -N '' -f /путь/к/ssh_host_rsa_key
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 05.12.2016 13:16

Bizdelnick писал(а):
05.12.2016 12:26
yukirin писал(а):
05.12.2016 10:55
в то время как ssh-сервер хочет запуститься с ключем ssh_host_dsa_key.

Вообще-то обычно создаются оба этих ключа, а в актуальных версиях openssh ещё и ecdsa.

yukirin писал(а):
05.12.2016 10:55
поменяв в двух местах буковки с d на r и собрав проект получил абсолютно рабочюю программу:

Так делать не надо. Верните как было и сгенерируйте rsa-ключ отдельно. ssh-keygen -A должна делать сразу все нужные ключи, если не работает — ssh-keygen -t rsa -N '' -f /путь/к/ssh_host_rsa_key

У меня клиент сам удачно генерит ключи, однако чмоды...Проверю завичит ли это каким-то образом от настроек сервака, в моем случает авторизация на сервере идет по ключу
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 05.12.2016 14:55

Не вижу никакого смысла в ручной генерации ключа т.к. программа в этом смысле абсолютно самодостаточна. Все необходимые команды она формирует и запускает самостоятельно.
Но в версии 4.0.5.2 при установке на чистую систему абсолютно все должны получить неработаюшую печать и проброс папок.
И произойдет это именно из-за этих буквочек. И чтобы не быть голословным ниже приведу выдержки из кода в которых происходит запуск ssh-сервера. Базовым методом в данном случае будет startWinServers() (он запускается из конструктора класса главного окна). Там можно проследить работу программы от сообщения - "Starting helper servers for Windows ..." до сообщения - "User mode OpenSSH server started successfully." либо "Failed to start user mode OpenSSH server." в дебаг режиме.
Класс WinServerStarter это потомок класса QThread. Код isServerRunning приводить не буду т.к. в нем происходит просто проверка задействованнсти порта по номеру переданному в качестве параметра.

Каждый может увидеть где, что и как запускается.

При переустановке клиента на системе где до этого уже был установлен x2go клиент сгенерируется новый rsa ключ, но обрашение будет идти к ключу от предыдущей версии клиента т.е. к ключу dsa. По идее должно все работать, но согласитесь, как-то кривовато.

Код: Выделить всё

void ONMainWindow::startWinServers()
{

    x2goDebug<<"Starting helper servers for Windows ...";

    QString etcDir=homeDir+"/.x2go/etc";
    QDir dr ( homeDir );

    pulseServer=0l;

    WinServerStarter* xStarter = new WinServerStarter ( WinServerStarter::X,
            this );
    WinServerStarter* sshStarter = new WinServerStarter (
        WinServerStarter::SSH, this );



    if ( !embedMode || !config.confFS || ( config.confFS && config.useFs ) )
    {

        dr.mkpath ( etcDir );
        generateHostKey(RSA_KEY_TYPE);
        generateEtcFiles();
        sshStarter->start();
    }
    if(embedMode)
    {
        if ( !config.confSnd ||
                ( config.confSnd && config.useSnd ) )
        {
            startPulsed();
        }
    }
// #ifdef CFGCLIENT

    //x2goDebug<<"Xorg settings: "<< startXorgOnStart <<" useXming: "<< useXming;

    if ( useInternalX && (internalX== XMING))
    {
// #endif
        xStarter->start();
        xorgLogTimer=new QTimer ( this );
        connect ( xorgLogTimer,SIGNAL ( timeout() ),this,
                  SLOT ( slotCheckXOrgLog() ) );
        xorgLogTimer->start ( 500 );
// #ifdef CFGCLIENT
    }
    else
    {
        if (startXorgOnStart)
        {
            startXOrg();
        }
    }
// #endif
}

void WinServerStarter::run()
{
    switch ( mode )
    {
    case SSH:
        parent->startSshd();
        break;
    case X:
        parent->startXOrg();
        break;
    }
}

void ONMainWindow::generateHostKey(ONMainWindow::key_types key_type)
{
    ONMainWindow::key_types sanitized_key_type = UNKNOWN_KEY_TYPE;
    QString stringified_key_type = "";
    switch (key_type) {
        case RSA_KEY_TYPE:
                               sanitized_key_type = key_type;
                               stringified_key_type = "rsa";
                               break;
        case DSA_KEY_TYPE:
                               sanitized_key_type = key_type;
                               stringified_key_type = "dsa";
                               break;
        case ECDSA_KEY_TYPE:
                               sanitized_key_type = key_type;
                               stringified_key_type = "ecdsa";
                               break;
        case ED25519_KEY_TYPE:
                               sanitized_key_type = key_type;
                               stringified_key_type = "ed25519";
                               break;
        default:
                               sanitized_key_type = UNKNOWN_KEY_TYPE;
                               stringified_key_type = "unknown";
    }

    if (sanitized_key_type == UNKNOWN_KEY_TYPE) {
        QMessageBox::critical (this, tr ("Host key type selection error"),
                               tr ("Unknown host key selected.\nTerminating application."));
        close ();
    }

    QString etcDir = homeDir + "/.x2go/etc/";
    QDir dr (homeDir);
    dr.mkpath (etcDir);
    QString private_key_file = etcDir + "/ssh_host_" + stringified_key_type + "_key";
    QString public_key_file = private_key_file + ".pub";

    if ((!(QFile::exists (private_key_file))) || (!(QFile::exists (public_key_file))))
    {
        x2goDebug << "Generating host key. Type: " << stringified_key_type;

#ifdef Q_OS_WIN
        private_key_file = cygwinPath (wapiShortFileName (etcDir))
                         + "/ssh_host_" + stringified_key_type + "_key";
#endif

        QStringList args;
        args << "-t"
             << stringified_key_type
             << "-N"
             << ""
             << "-C"
             << QString ("X2Go Client " + stringified_key_type + "host key")
             << "-f"
             << private_key_file;
        QProcess::execute ("ssh-keygen", args);
    }
}

void ONMainWindow::generateEtcFiles()
{
    QString etcDir=homeDir+"/.x2go/etc";
    QString varDir = homeDir + "/.x2go/var";
    QDir dr ( homeDir );
    dr.mkpath ( etcDir );
    dr.mkpath (varDir);
    QFile file ( etcDir +"/sshd_config" );
    if ( !file.open ( QIODevice::WriteOnly | QIODevice::Text ) )
        return;
#ifdef Q_OS_WIN
    QString authKeyPath=cygwinPath ( homeDir+"/.x2go/.ssh/authorized_keys" );
    authKeyPath.replace(wapiGetUserName(),"%u");
#endif
    QTextStream out ( &file );
    out<<"StrictModes no\n"<<
         "UsePrivilegeSeparation no\n"<<
         "PidFile \"" + varDir + "/sshd.pid\"\n" <<
#ifdef Q_OS_WIN
         "Subsystem shell "<< wapiShortFileName ( appDir) +"/sh"+"\n"<<
         "Subsystem sftp "<< wapiShortFileName ( appDir) +"/sftp-server"+"\n"<<
         "AuthorizedKeysFile \""<<authKeyPath<<"\"\n";
#else
         "Subsystem sftp "
    /* This may need some sanitization, i.e., appDir could potentially include whitespace. */
       <<appDir<<"/sftp-server\n";
#endif

    /* The log file in startSshd() is specific to Windows. */
#ifdef Q_OS_WIN
    if (debugging){
        out<<"LogLevel DEBUG1\n";
    }
#endif
    file.close();
    x2goDebug<<etcDir +"/sshd_config created.";
}

bool ONMainWindow::startSshd()
{
    if ( embedMode && config.confFS && !config.useFs )
    {
        return false;
    }
#ifdef Q_OS_LINUX
    clientSshPort = "7022";
#else // defined (Q_OS_LINUX)
#ifdef Q_OS_DARWIN
    // Should also automatically create keys if Remote Login is enabled
    // under Sharing in System Preferences.
    if (!isServerRunning (clientSshPort.toInt ())) {
      clientSshPort = "7022";
    }
#endif // defined (Q_OS_DARWIN)
#endif // defined (Q_OS_LINUX)
    QString etcDir=homeDir+"/.x2go/etc";
    int port=clientSshPort.toInt();
    //clientSshPort have initvalue
    while ( isServerRunning ( port ) )
        ++port;
    clientSshPort=QString::number ( port );
#ifdef Q_OS_WIN
    std::string clientdir=wapiShortFileName ( appDir ).toStdString();
    std::stringstream strm;
    std::string config="\""+cygwinPath(etcDir+"/sshd_config").toStdString()+"\"";
    std::string key="\""+cygwinPath(etcDir+"/ssh_host_dsa_key").toStdString()+"\"";

    // generate a unique sshLog filepath, and create its directory
    if (debugging)
    {
        QDir* sshLogsDir= new QDir( homeDir+"/.x2go/sshLogs" );
        if (!sshLogsDir->exists())
            sshLogsDir->mkpath(".");

        QTemporaryFile* sshLogTemp=new QTemporaryFile ( sshLogsDir->absolutePath()+"/XXXXXX.log" );
        sshLogTemp->open();
        sshLog=sshLogTemp->fileName();
        sshLogTemp->close();

        delete sshLogsDir;
        delete sshLogTemp;
        x2goDebug<<"Logging cygwin sshd to: "<<sshLog;
    }

    strm<<clientdir<<"\\sshd.exe -D -p "<<clientSshPort.toInt()<<" -f "<< config <<" -h "<<key;
    if (debugging){
        strm<<" -E "<<"\""<<sshLog.toStdString()<<"\"";
    }

    STARTUPINFOA si;
    std::string desktopName="x2go_";
    desktopName+=getenv ( "USERNAME" );
    char* desktop=new char[desktopName.size() +1];
    strcpy ( desktop,desktopName.c_str() );

    x2goDebug<<"Creating desktop: "<<desktop;

    if ( !CreateDesktopA (
                desktop,
                0,
                0,
                0,
                GENERIC_ALL,
                0
            ) )
    {
        strcpy ( desktop,"" );

        x2goDebug<<"Desktop creation failed, using default.";

    }
    ZeroMemory ( &si, sizeof ( si ) );
    ZeroMemory ( &sshd, sizeof ( sshd ) );
    si.lpDesktop=desktop;
    si.cb = sizeof ( si );
    CreateProcessA ( NULL,  // No module name (use command line)
                     ( LPSTR ) strm.str().c_str(),  // Command line
                     NULL,           // Process handle not inheritable
                     NULL,           // Thread handle not inheritable
                     TRUE,          // Set handle inheritance to FALSE
                     0/*CREATE_NO_WINDOW|CREATE_NEW_PROCESS_GROUP*/,
                     //creation flags
                     NULL,           // Use parent's environment block
                     clientdir.c_str(), // Starting directory
                     &si,            // Pointer to STARTUPINFO structure
                     &sshd );// Pointer to PROCESS_INFORMATION structure
    /* FIXME: test successful SSH daemon startup */
    delete []desktop;
    winSshdStarted=true;
#else // defined (Q_OS_WIN)
    userSshd=true;

    sshd=new QProcess ( this );

    QString binary = appDir + "/sshd";
#ifdef Q_OS_DARWIN
    binary = "/usr/sbin/sshd";
#endif // defined (Q_OS_DARWIN)

    QStringList arguments;
    arguments<<"-f"<<etcDir +"/sshd_config"<< "-h" <<
             etcDir+"/ssh_host_dsa_key"<<"-D"<<"-p"<<clientSshPort;

    sshd->start (binary, arguments);
#endif // defined (Q_OS_WIN)

    // Allow sshd a grace time of 3 seconds to come up.
    QTime sleepTime = QTime::currentTime ().addSecs (3);
    while (QTime::currentTime () < sleepTime) {
        QCoreApplication::processEvents (QEventLoop::AllEvents, 100);
    }

    if (!isServerRunning (clientSshPort.toInt ())) {
        printSshDError_startupFailure ();
        x2goDebug << "Failed to start user mode OpenSSH server.";
        return (false);
    }
    else {
        x2goDebug << "User mode OpenSSH server started successfully.";
        return (true);
    }
}
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15814
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: x2go

Сообщение Bizdelnick » 05.12.2016 15:12

yukirin писал(а):
05.12.2016 14:55
Не вижу никакого смысла в ручной генерации ключа т.к. программа в этом смысле абсолютно самодостаточна.

Судя по приведённому Вами коду, это явный баг. Смысл в ручной генерации в таком случае есть — обойти (workaround) этот баг.

yukirin писал(а):
05.12.2016 14:55
И произойдет это именно из-за этих буквочек.

Согласитесь, всё же не из-за буквочек, а из-за того, что они означают. ☺
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 05.12.2016 15:23

Судя по приведённому Вами коду, это явный баг. Смысл в ручной генерации в таком случае есть — обойти (workaround) этот баг.


В принципе да, согласен.

Согласитесь, всё же не из-за буквочек, а из-за того, что они означают.


Согласен.
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 05.12.2016 23:27

Все понятно, но вопрос остается открытым :)
Полностью выкосил клиента, почистил реестр и все его следы во временных каталогах и т.д.
Установил последнюю версию. Сначала в логе ошибка на отсутствие dsa ключа, хотя прога сгенерила rsa ключи.
Подсунул ей dsa ключ. Пошла ругня на чмоды.
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 06.12.2016 23:12

Подсунул ей dsa ключ. Пошла ругня на чмоды.

Сейчас попробую cygwin поставить и через него поиграться с чмодами


Ну как ставили? Игрались?

Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 07.12.2016 00:35

yukirin писал(а):
06.12.2016 23:12
Подсунул ей dsa ключ. Пошла ругня на чмоды.

Сейчас попробую cygwin поставить и через него поиграться с чмодами


Ну как ставили? Игрались?

Да, но не помогло. Так до конца и не понять какой тут workaround, надежда на следующую версию. Проект развивается, так что есть большие надежды, что допилят.
Зато на линуксе как хорошо клиент работает :)
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 07.12.2016 09:48

Вообще, как я понял, вызов команды chmod 600 key не всегда эффективен. Вот по этой ссылке описывается решение вашей проблемы с добавлением еще одной команды chgrp Users key. Там же, в комментариях, приводится вариант исправления при помощи команды - setfacl.
У меня тоже появляются такие же сообщения о чрезмерной открытости ключа при применении к файлу ключа команды, скажем. chmod 777, но мне достаточно вызвать chmod 600 чтобы вернуть все обратно.

Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 07.12.2016 12:34

yukirin писал(а):
07.12.2016 09:48
Вообще, как я понял, вызов команды chmod 600 key не всегда эффективен. Вот по этой ссылке описывается решение вашей проблемы с добавлением еще одной команды chgrp Users key. Там же, в комментариях, приводится вариант исправления при помощи команды - setfacl.
У меня тоже появляются такие же сообщения о чрезмерной открытости ключа при применении к файлу ключа команды, скажем. chmod 777, но мне достаточно вызвать chmod 600 чтобы вернуть все обратно.

Да, помогло. Спасибо. Достаточно было только сделать chgrp Пользователи *
Все стартануло без ошибок. Но! Папка так и не пробросилась! :)
Тупик товарищи :)
P.S. ключи брал с предыдущей версии т.к. прога хотела dsa-ключи в то время как сама генерила rsa-ключи. Такое вот.
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 07.12.2016 13:04

Попробуйте всетаки вручную перегенерировать ключи (как вам советовал Bizdelnick) из командной строки, скажем так

Код: Выделить всё

C:\Program Files (x86)\x2goclient> ssh-keygen -t dsa -N '' -C 'X2Go Client dsa host key' -f 'C:\Users\NameUserHere\.x2go\etc\ssh_host_dsa_key'


набор параметров, для аутентичности, взят из клиента.

И при необходимости примените chmod|chgrp.
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 07.12.2016 13:18

yukirin писал(а):
07.12.2016 13:04
Попробуйте всетаки вручную перегенерировать ключи (как вам советовал Bizdelnick) из командной строки, скажем так

Код: Выделить всё

C:\Program Files (x86)\x2goclient> ssh-keygen -t dsa -N '' -C 'X2Go Client dsa host key' -f 'C:\Users\NameUserHere\.x2go\etc\ssh_host_dsa_key'


набор параметров, для аутентичности, взят из клиента.

И при необходимости примените chmod|chgrp.

Попробовал. Результат тот же.
В обоих случаях в логе обнаружил такое: Couldn't create pid file "/X2GOCL~1/C:/Users/UserName/.x2go/var/sshd.pid": No such file or directory
Может в этом затык... У вас он есть этот файлик?
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 07.12.2016 13:27

pid file "/X2GOCL~1/C:/Users/UserName/.x2go/var/sshd.pid": No such file or directory


Это на работу не влияет. Вообще конечно трудно занматся гаданием...

Хотелось бы посмотреть sshd_config из папки etc.

Может win firewall что-нибудь блокирует...

Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 07.12.2016 13:41

yukirin писал(а):
07.12.2016 13:27
pid file "/X2GOCL~1/C:/Users/UserName/.x2go/var/sshd.pid": No such file or directory


Это на работу не влияет. Вообще конечно трудно занматся гаданием...

Хотелось бы посмотреть sshd_config из папки etc.

Может win firewall что-нибудь блокирует...

sshd_config:
StrictModes no
UsePrivilegeSeparation no
PidFile "C:/Users/UserName/.x2go/var/sshd.pid"
Subsystem shell C:/PROGRA~2/X2GOCL~1/sh
Subsystem sftp C:/PROGRA~2/X2GOCL~1/sftp-server
AuthorizedKeysFile "/cygdrive/C/Users/%u/.x2go/.ssh/authorized_keys"
LogLevel DEBUG1

Firewall отключал
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 07.12.2016 14:51

sshd_config корректен. Идей пока нет. Может вы до кучи выложете лог из папки sshLogs и содержимое консольного окошка при подключении.
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 07.12.2016 15:00

yukirin писал(а):
07.12.2016 14:51
sshd_config корректен. Идей пока нет. Может вы до кучи выложете лог из папки sshLogs и содержимое консольного окошка при подключении.

А! вот что высмотрел в логе

Did not receive identification string from 127.0.0.1

Unable to negotiate with 127.0.0.1: no matching host key type found. Their offer: ssh-dss-cert-v01@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-dss,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-rsa
debug1: do_cleanup
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 08.12.2016 09:04

Предположу что клиент и сервер не пришли к окончательному соглашению по выбору алгоритма обмена ключами. Здесь подробнее...
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 08.12.2016 12:17

yukirin писал(а):
08.12.2016 09:04
Предположу что клиент и сервер не пришли к окончательному соглашению по выбору алгоритма обмена ключами. Здесь подробнее...

Был там, читал. Пробовал изменить конфигурационный файл для ssh, но не помогло,этот файл каждый раз заново генерируется
Все-таки думаю, что проблема проброса папки кроется не в ключах. Вот на винде ХРх32 в режиме дебага папка не пробрасывается, а в обычном режиме всё хорошо. И замечу, в последнем клиенте используются rsa-ключ.
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 08.12.2016 15:33

Собственно процесс проброса папок начинается с... генерации еще одного rsa ключа на клиентской машине. Вы можете это увидеть открыв папку C:\Users\ХХХХХ\.x2go\ssh\gen и понаблюдав содержимое этой папки при подключении. Буквально на долю секунды можно увидеть как они там появляются. Соответственно на это же время изменяется содержимое файла C:\Users\ХХХХХ\.x2go\.ssh\authorized_keys.
Затем закрытая часть передается в папку - /home/administrator/.x2go/ssh/ на серверную машину, которая (машина) будет выступать клиентом по отношению к клиентской машине.
Далее на серверной машине запускается перл скрипт - x2gomountdirs, который после некоторой предварительной работы, в цикле равном количеству пробрасываемых папок + спул папка выполняет команду -

Код: Выделить всё

if (system("timeout 30 sshfs $code_conv -o idmap=user,uid=`id -u`,gid=`id -g`,$umaskstr,ServerAliveInterval=300,IdentityFile=$key,UserKnownHostsFile=$key.ident \"$user\"\@$host:\"@dirs[$i]\" \"$mntpath\" -p $port 1>>$sessiondir/sshfs-mounts.log 2>&1")==0)

и формирует необходимые ярлыки на раб. столе. В заключении выполняется зачистка.

Весь процесс проброса довольно подробно присутствует в консольном окошке в дебаг режиме.

Вообще после запуска x2goклиента у вас на клиентской машине получается запушеный ssh-сервер на 7022 порту(каждый последующий клиент увеличивает эту цифру на единицу).
Поэтому можно попытаться примонтировать(sshfs) win-папку в ручном режиме с дебаг опциями команды разного уровня.
Можно попытаться запустить ssh сервер вручную -

Код: Выделить всё

"C:\Program Files (x86)\x2goclient\sshd.exe" -D -p 7022 -f /cygdrive/C/Users/user/.x2go/etc/sshd_config -h /cygdrive/C/Users/user/.x2go/etc/ssh_host_dsa_key -E /cygdrive/C/Users/user/.x2go/sshLogs/sshLog.log


вообще лепи любые конфиги, ключи и уровни логлевел....

Если есть желание и время то поле для экспериментов широкое...
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 09.12.2016 10:47

Был там, читал. Пробовал изменить конфигурационный файл для ssh, но не помогло,этот файл каждый раз заново генерируется
Все-таки думаю, что проблема проброса папки кроется не в ключах. Вот на винде ХРх32 в режиме дебага папка не пробрасывается, а в обычном режиме всё хорошо. И замечу, в последнем клиенте используются rsa-ключ.


Если для вас все еще это актуально то попробуйте всетаки вставить в файл sshd_config строку - HostKeyAlgorithms=*
Только после этого запретите для всех пользователей/групп все write|change|delete на этом файле
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 09.12.2016 10:54

yukirin писал(а):
09.12.2016 10:47
Был там, читал. Пробовал изменить конфигурационный файл для ssh, но не помогло,этот файл каждый раз заново генерируется
Все-таки думаю, что проблема проброса папки кроется не в ключах. Вот на винде ХРх32 в режиме дебага папка не пробрасывается, а в обычном режиме всё хорошо. И замечу, в последнем клиенте используются rsa-ключ.


Если для вас все еще это актуально то попробуйте всетаки вставить в файл sshd_config строку - HostKeyAlgorithms=*
Только после этого запретите для всех пользователей/групп все write|change|delete на этом файле

Клиент каждый раз заново создает этот файл, т.е. все правки которые вносятся пропадают
Спасибо сказали:

yukirin
Сообщения: 16

Re: x2go

Сообщение yukirin » 09.12.2016 11:06

Вам надо запретить на этом файле его изменение|удаление средствами операционки через закладку безопасность.
св-ства файла->кн. дополнительно->кн. изм. разрешения->убираем галку с Добавить разрешения, наследуемые.....->для кажого польз.|группы жмем кн. изменить-> убираем галки со всех пунктов где видим создание, запись, удаление, смена
Спасибо сказали:

Tlon
Сообщения: 47

Re: x2go

Сообщение Tlon » 11.12.2016 15:41

yukirin писал(а):
09.12.2016 11:06
Вам надо запретить на этом файле его изменение|удаление средствами операционки через закладку безопасность.
св-ства файла->кн. дополнительно->кн. изм. разрешения->убираем галку с Добавить разрешения, наследуемые.....->для кажого польз.|группы жмем кн. изменить-> убираем галки со всех пунктов где видим создание, запись, удаление, смена

Подожду следующую версию, похоже она скоро будет
Спасибо сказали: