Автор Тема: Simply Linux 10.1 не работает nxclient-3.5.0-7.x86_64.rpm  (Прочитано 1517 раз)

Оффлайн telets

  • Давно тут
  • **
  • Сообщений: 57
    • Email
Здравствуйте
Клиент nxclient-3.5.0-7.x86_64.rpm используем с 7 версии S и везде работает. На на 10 SL не соединяется с FreeNX сервером на debian 11.
Debian настроен и работает правильно: с SL 9 куча клиентов коннектятся.
Пробовал на SL10 установить remmina - тоже соединяется по NX протоколу, только remmina пришлось ставить из SL9, потому что нет в SL10 remmina-plugins-nx почему-то.

Почему-то nxclient не отправляет данные для сервера. Вот лог:
NX> 203 NXSSH running with pid: 8107
NX> 285 Enabling check on switch command
NX> 285 Enabling skip of SSH config files
NX> 285 Setting the preferred NX options
NX> 200 Connected to address: 192.168.3.29 on port: 22
NX> 202 Authenticating user: nx
NX> 208 Using auth method: publickey
HELLO NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.5.99.19)
NX> 105 NX> 280 Exiting on signal: 15

Сервер отправляет NX> 105 и ждёт ответа hello NXCLIENT - Version 3.2.0 (такой ответ приходит на SL9).
А ответ не приходит.

Чем можете помочь?
Ссылка на пакет nxclient https://disk.yandex.ru/d/9cj7Y3agUt_eNw

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Попробовать отсюда пересобрать ?
https://packages.altlinux.org/ru/p7/srpms/nxclient/rpms/

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Или отсюда , через epm
https://kb.nomachine.com/DT10R00166

Оффлайн telets

  • Давно тут
  • **
  • Сообщений: 57
    • Email
Попробовать отсюда пересобрать ?
https://packages.altlinux.org/ru/p7/srpms/nxclient/rpms/
Пересобрал - получилось тоже самое. Сравнил файлы в моём rpm и из nxclient-3.5.0.7-alt5.src.rpm - по размерам одинаковые.
После пересборки и установки также проявляется не работа клиента: логи на сервере и клиенте одинаковые.

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 160
Не смотрели на предмет совместимости версий сервера и клиента?
Получается, что у вас клиент версии 3.2 работает с вашим сервером на debian (кстати, какой версии сервер nx?), а вот 3.5 уже не работает.

Оффлайн telets

  • Давно тут
  • **
  • Сообщений: 57
    • Email
Не смотрели на предмет совместимости версий сервера и клиента?
Получается, что у вас клиент версии 3.2 работает с вашим сервером на debian (кстати, какой версии сервер nx?), а вот 3.5 уже не работает.
Всё тоже самое работает отлично на том же сервере debian только клиент на Simply Linux 9 или 8 или 7.
На сервере используем FreeNX - это посути  shell скрипты. Там в скрипте явно прописана версия.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Ну, тогда смотрите логи.

Оффлайн telets

  • Давно тут
  • **
  • Сообщений: 57
    • Email
Ну, тогда смотрите логи.
По логам ожидание и отвал по timeout:
?? ??? 21 07:59:02 2022]: Received line from nxssh process [NX> 200 Connected to address: 192.168.3.29 on port: 22] with code [200]
[?? ??? 21 07:59:02 2022]: Received code[200]
[?? ??? 21 08:00:02 2022]: StopConnection called
[?? ??? 21 08:00:02 2022]: nxssh closing
1 минуту ждал

На сервере:
из работы скрипта видно, что пользователем nx (служебный) клиент по pubkey соединился, сервер отправил ему "NX> 105 " и встал на получение ответа (read). При этом клиент получил "NX> 105 "

Видать что-то поменялось в работе сети на SL10.
« Последнее редактирование: 21.07.2022 11:41:09 от ruslandh »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Ну, сравнивайте порты в первую очередь

Оффлайн telets

  • Давно тут
  • **
  • Сообщений: 57
    • Email
Ну, сравнивайте порты в первую очередь
Так они по 22 порту работают. Пакетами по сети в начале обмениваются (tcpdump'ом смотрел).
Потом нет 1 минуты обмена и клиент по timeout посылает серверу конец связи.

Оффлайн telets

  • Давно тут
  • **
  • Сообщений: 57
    • Email
В скрипте сервера есть цикл чтения команд с клиента:
echo_x "HELLO NXSERVER - Version $NX_VERSION $NX_LICENSE"

# Login stage
while true
do
   echo_x -n "NX> 105 "
   read CMD
   # FIXME?
   [ "$CMD" = "" ] && CMD="quit"
   echo_x "$CMD"

   case "$CMD" in.
      quit|QUIT)
         echo_x "Quit"
         echo_x "NX> 999 Bye"
         exit 0
      ;;

Так вот, если я добавлю своих echo_x с паузами по 5 сек, то клиент получает их (по tcpdump видно, что пакет уходит на клиент и клиент отвечает, что принял пакет) и в своём логе пишет мои echo_x. Вот так поменяд:
while true
do
   echo_x -n "NX> 105 "
   sleep 5
   echo_x -n "NX> 105 "
   sleep 5
   echo_x -n "NX> 105 "
   sleep 5
   read CMD
А вот сам ничего не отсылает (должен прислать    hello NXCLIENT - Version 3.2.0).
Проблема видать здесь в том, что клиент не понимает что получил или не может отправить на сервер. Хотя соединение в начале проходит и авторизация по служебному пользователю nx по publickey проходит.
« Последнее редактирование: 25.07.2022 13:47:57 от ruslandh »

Оффлайн telets

  • Давно тут
  • **
  • Сообщений: 57
    • Email
такое ощущение, что команда read CMD не может ничего из канала считать. Это может связано с тем, что клиент не может туда записать или на клиенте система не даёт из канала считать.

Схема работы FreeNX на сервере:
 1. клиент соединяется с сервером по ssh передаёт логин nx и publickey (не пароль а hostkey based authentification).
 2. на сервере в /etc/passwd nx:x:127:136::/var/lib/nxserver/home:/usr/lib/nx/nxserver - запускается shell скрипт  nxserver.
     В нём (nxserver) и стоит read.

Оффлайн telets

  • Давно тут
  • **
  • Сообщений: 57
    • Email
Нашёл новый файл nxsh https://www.nomachine.com/downloads/7.6/sources/nxssh-7.6.2.tar.gz
Пробовал его собрать не собирается:
authfd.c:46:10: fatal error: openssl/internal_compat.h: Нет такого файла или каталога
   46 | #include <openssl/internal_compat.h>
Где этот файл найти?
« Последнее редактирование: 25.07.2022 13:48:28 от ruslandh »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 925
    • Домашняя страница
    • Email
В исходном коде openssl такого не вижу. А в исходном коде nxssh?
Андрей Черепанов (cas@)

Оффлайн telets

  • Давно тут
  • **
  • Сообщений: 57
    • Email
internal_compat.h
В 47 файлах:
[root@SL10-29 nxssh-7.6.2]# grep internal_compat.h *
auth1.c:#include <openssl/internal_compat.h>
authfd.c:#include <openssl/internal_compat.h>
authfile.c:#include <openssl/internal_compat.h>
auth-rsa.c:#include <openssl/internal_compat.h>
cipher-3des1.c:#include <openssl/internal_compat.h>
cipher-acss.c:#include <openssl/internal_compat.h>
cipher-bf1.c:#include <openssl/internal_compat.h>
cipher.c:#include <openssl/internal_compat.h>
cipher-ctr.c:#include <openssl/internal_compat.h>
clientloop.c:#include <openssl/internal_compat.h>
grep: contrib: Это каталог
dh.c:#include <openssl/internal_compat.h>
hostfile.c:#include <openssl/internal_compat.h>
kerberos-sspi.c:#include <openssl/internal_compat.h>
kex.c:#include <openssl/internal_compat.h>
kexdh.c:#include <openssl/internal_compat.h>
kexdhc.c:#include <openssl/internal_compat.h>
kexdhs.c:#include <openssl/internal_compat.h>
kexecdh.c:#include <openssl/internal_compat.h>
kexecdhc.c:#include <openssl/internal_compat.h>
kexecdhs.c:#include <openssl/internal_compat.h>
kexgex.c:#include <openssl/internal_compat.h>
kexgexc.c:#include <openssl/internal_compat.h>
kexgexs.c:#include <openssl/internal_compat.h>
key.c:#include <openssl/internal_compat.h>
grep: libkrb: Это каталог
mac.c:#include <openssl/internal_compat.h>
monitor.c:#include <openssl/internal_compat.h>
monitor_wrap.c:#include <openssl/internal_compat.h>
grep: openbsd-compat: Это каталог
packet.c:#include <openssl/internal_compat.h>
readconf.c:#include <openssl/internal_compat.h>
grep: regress: Это каталог
roaming_client.c:#include <openssl/internal_compat.h>
roaming_common.c:#include <openssl/internal_compat.h>
rsa.c:#include <openssl/internal_compat.h>
grep: scard: Это каталог
schnorr.c:#include <openssl/internal_compat.h>
servconf.c:#include <openssl/internal_compat.h>
serverloop.c:#include <openssl/internal_compat.h>
session.c:#include <openssl/internal_compat.h>
ssh-agent.c:#include <openssl/internal_compat.h>
ssh.c:#include <openssl/internal_compat.h>
sshconnect1.c:#include <openssl/internal_compat.h>
sshconnect2.c:#include <openssl/internal_compat.h>
sshd.c:#include <openssl/internal_compat.h>
ssh-dss.c:#include <openssl/internal_compat.h>
ssh-ecdsa.c:#include <openssl/internal_compat.h>
ssh-keygen.c:#include <openssl/internal_compat.h>
ssh-pkcs11.c:#include <openssl/internal_compat.h>
ssh-pkcs11-client.c:#include <openssl/internal_compat.h>
ssh-rsa.c:#include <openssl/internal_compat.h>
« Последнее редактирование: 25.07.2022 13:49:16 от ruslandh »