пятница, 7 сентября 2012 г.

Установка FreeNX сервера на Ubuntu

Данная статья является моим вольным переводом статьи, с дополнениями и пояснениями по ходу текста. Материал на работоспособность проверен лично, баги учтены и по возможности отловлены... Если у кого чего не получается - в каменты, будем вместе решать :)

Итак....

 Для начала создаем скрипт, скажем install.sh, и запихиваем в него следующий текст:

echo **
echo *FreeNX Setup Script*
echo **

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:freenx-team
sudo apt-get update
sudo apt-get install freenx -y
sleep 5

echo **
echo *The End*
echo **


Делаем файл исполняемым:

sudo chmod +x install.sh

Этот простенький скрипт добавит репозиторий в ваш sources.list и скачает и установки все необходимое, а то-есть: минимальный (совсем) gnome2 и сам, собственно, freenx-server. Если вас это устраивает, то запускаем скрипт установки. Если же нет, то сами ставим графику с софтом по своему усмотрению, а только затем запускаем скрипт.

sudo bash ./install.sh

По окончанию процесса установки меняем файл node.conf по пути /etc/nxserver:

sudo nano /etc/nxserve/node.conf

Находим строчку:

#ENABLE_PASSDB_AUTHENTICATION="0"

и меняем на:

ENABLE_PASSDB_AUTHENTICATION="1"

Далее нужно установить права пользователям на доступ к NX-серверу по ssh. Для этого нужно в файле:

sudo nano /etc/ssh/sshd_config

после строк:

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile        %h/.ssh/authorized_keys2

Добавить:

AllowUsers nx your*user*name
  
Где nx - системный юзверь (на сколько я понимаю), без которого вообще ничего работать удаленно не будет, а your*user*name - имена пользователей, учетные записи которых будут на сервере, и которым вы хотите дать доступ к NX-серверу.

Далее создаем так называемый client id dsa - ключ, который будет использоваться для проверки доступа подключаюегося серверу пользователя. Для этого:

sudo /usr/lib/nx/nxkeygen

Если все ок, то выхлоп будет следующим:

Unique key generated; your users must install
/var/lib/nxserver/home/.ssh/client.id_dsa.key
on their computers.


Что значит, что нужно скопировать сгенеренный ключ на клиентские машины из указанной папки.

Далее создаем файл users.id_dsa в папке /etc/nxserver, и копируем в него содержимое файлика /var/lib/nxserver/home/.ssh/client.id_dsa.key.

Далее добавляем юзверя в юзер-лист NX-сервера. Пользователь, соответственно,  должен был быть зарегистрирован в самой системе.

sudo nxserver --adduser chris

Если выхлоп получился подобный:

NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.4.0)
egrep: /etc/nxserver/passwords: No such file or directory
cp: cannot stat `/etc/nxserver/passwords': No such file or directory
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.4.0)
cat: /etc/nxserver/users.id_dsa.pub: No such file or directory
cat: /etc/nxserver/users.id_dsa.pub: No such file or directory
NX> 716 Public key added to: /home/chris/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye


то все ОК, если нет - ищем ошибку. 

Далее устанавливаем пользователю пароль для входа. Рекомендую не морочить голову ни себе ни людям и ставить пароль такой же, как от входа в систему.

sudo nxserver --passwd chris

Если выхлоп такой:

NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.4.0)
New password:
Password changed.
NX> 999 Bye


то все ОК, если нет - ищем ошибку.

Далее выдаем разрешения системному пользователю на пользование папочкой и всем её содержимым:

sudo chown nx:root /var/lib/nxserver/db/*

Перезагружаем ssh-сервер и freenx-сервер:

sudo /etc/init.d/ssh restart

sudo nxserver --restart


Далее через NX-Client коннектимся к серверу, не забыв указать путь к скопированному ключу. Если коннект прошел успешно - радуемся жизни, играемся дальше.

Все, that's all toons, kids :)

Комментариев нет:

Отправить комментарий