最近一直在弄远程桌面NoMachine,但是一直有问题没有成功,直到在Ubuntu的论坛上发现了这篇文章,才得以安装成功,因为原文是英文,所以结合原文和自己的心得写一下步骤,给有问题的朋友做个借鉴。
这篇文章更适合多次安装NoMachine没有安装成功,并且所遇到的问题是“认证失败(Authentication failure)"这类问题的同学。引起这类问题的原因貌似是以下两个方面:
(1)NX不能在正确的目录查找authorized_key2;
(2) authorized_key2 文件所在的目录不是全新的,即以前安装过但是失败了;
安装步骤:
1. 首先看一下NoMachine安装是否正确(如果以前安过的话)
$ cat /etc/passwd | grep ^nx
nx:x:120:65534::/usr/NX/home/nx:/usr/NX/bin/nxserver
$ sudo su
# cd /usr/NX/home/nx/.ssh/
# ls -al
authorized_keys2 default.id_dsa.pub known_hosts restore.id_dsa.pub
如果有这四个文件一般就安装正确,如果没有,就卸载重新安装。
2. 卸载原先的程序并清除原有的配置文件
$ sudo apt-get purge nxclient nxserver nxnode
$ sudo apt-get purge openssh-server openssh-client
$ sudo rm -r /usr/NX
$ sudo rm -r ~/.ssh/
重新安装能否成功,可能与删除 /urs/NX 有关,重新安装时将会在这个目录添加新文件,这与认证有关。
3. 重新安装程序
$ sudo apt-get install openssh-server openssh-client
同时去http://www.nomachine.com下载安装程序,包括nxclient,nxnode,nxserver相应平台的文件。因为我的系统是Ubuntu 12.04 32位的,所以我下载的是下面的:
$ sudo dpkg -i nxclient_3.5.0-7_i386.deb
$ sudo dpkg -i nxnode_3.5.0-9_i386.deb
$ sudo dpkg -i nxserver_3.5.0-11_i386.deb
要注意安装的顺序。
4. 改变权限
比如我的是: $ sudo chown wang:wang ~/.ssh
如果不改变的话,(通常是从root:root),那么将没有合适的权限来产生密钥。
5. NX 认证有关的目录
运行下面的命令查看NX在哪个目录验证nx用户。
$ cat /etc/passwd | grep ^nx
nx:x:120:65534::/usr/NX/home/nx:/usr/NX/bin/nxserver
我的是在/usr/NX/home/nx/.ssh
6. 编辑配置文件
6.1 SSHD_CONFIG
$ sudo vim /etc/ssh/sshd_config
修改下面一处:
PasswordAuthentication yes
6.2 SERVER。CFG
$ sudo vim /usr/NX/etc/server.cfg
修改下面一处:
EnableUserDB = "1"
另外,为了安全,可以修改端口22(如果修改,三个配置文件ssh_config,server.cfg,node.cfg都要作相应的修改)
然后重启服务
$ sudo /etc/init.d/ssh restart
$ sudo /usr/NX/bin/nxserver --restart
7. 配置NXSERVER
7.1 添加用户
$ sudo /usr/NX/bin/nxserver --useradd ubuntu --system
$ sudo /usr/NX/bin/nxserver --usercheck ubuntu
从输出中便可以看到用户是否认证成功:
7.2 创建密钥
$ sudo /usr/NX/bin/nxserver --keygen
从输出中看出,密钥是在/usr/NX/share/keys/default.id_dsa.key,然后把密钥拷贝到客户机上,登录时用此密钥来验证(注意:因为这些目录的权限是nx:root 或者是
root: root,你需要切换到root才行)