Acesso remoto utilizando FreeNX

As maiores reclamações de usuários remotos que utilizam o Linux e que precisam usar a parte gráfica é a demora para abrir aplicativos e configuração não intuitiva. O FreeNX é uma ferramenta que permite acessos através de um cliente gráfico, utilizando S.O. Windows ou Linux com uma velocidade surpreendente. Indicado para quem precisa dar manutenção a servidores ou que trabalha como homeOffice.

[ Hits: 82.632 ]

Por: Gilberto Russo em 11/08/2006


Instalação do NOMACHINE Client



Aplicativo em Python


Foi criado um aplicativo em Python para que seja possível a execução do nomachine(client) dentro de um pendrive. Portanto o aplicativo teria que copiar alguns arquivos de configuração do pendrive para dentro do home do usuário que esteja logado no momento.

Para a melhor utilização desse aplicativo foi transformado o código em python "py" para um arquivo binário "exe". Para que isso fosse possível foi utilizado um programa chamado py2exe. Abaixo o código do aplicativo:

import os, sys
from time import sleep
from shutil import copytree
from shutil import rmtree

def deleta_tudo(diretorio):
    try:
        os.rmdir(diretorio)
    except:
        pass
    for root, dirs, files in os.walk(diretorio, topdown=False):
            for file in files:
                try:
                    os.remove(os.path.abspath(os.path.join(root,file)))
                except:
                    pass
            for dir in dirs:
                try:
                    os.rmdir(os.path.abspath(os.path.join(root,dir)))
                except:
                    pass
    try:
        os.rmdir(diretorio)
    except:
        pass


def deleta_dir(ficheiro):
    while os.path.exists(ficheiro):
        
        rmtree(ficheiro)
        break
    sleep(0.5)

dir1 = (os.popen('set userprofile'))
dir1 = (dir1.read())
dir3 = dir1.split ('=')[1][:-1]
SPATH = dir3+'.nx'



while 1:
    if os.path.exists(SPATH):
        deleta_tudo(SPATH)
    elif not os.path.exists(SPATH):
        break

sleep(0.5)
copytree ('nx',SPATH)

status = os.system("%s " % ('nxclient'))
print status
if status != 0:
    print "%s exited funny: %s" % ("nxclient.exe", status)
    raise SystemExit

while 1:
    if os.path.exists(SPATH):
        deleta_tudo(SPATH)
    elif not os.path.exists(SPATH):
        break

Criando arquivo freenx.bat


Para que os arquivos de instalação do NoMachine e os arquivos do aplicativo em python não ficassem espalhados na raiz do pendrive, foi criado um pequeno script em "bat" para fazer a chamada do binário do python, e então abrir o binário do nomachine.

@echo off
cd nxclient
start freenx.exe

Cliente NoMachine (necessariamente versão 1.5)


Vamos agora executar o cliente do NX e configurá-lo para acessar o nosso servidor. Nesse caso a configuração deverá ser feita dentro de um pendrive.

A seguir informamos o nome do perfil de conexão, o endereço remoto da máquina (nome ou IP) e a porta do SSH (normalmente 22, mas por segurança alteramos para a porta 37775). O tipo de conexão vai ajudar o NX a determinar itens como nível de compressão, quantidade de cores, etc. No exemplo, a estação está conectada em um ADSL de 256kbps.

O padrão é o NX server fazer uma conexão Unix, ou seja, estar entrando em uma máquina que acessa o ambiente gráfico pelo NX proxy (é possível também utilizá-lo para conexões VNC ou RDP). Selecionamos também o tipo de sessão remota que pode ser KDE, Gnome ou Custom. Utilizaremos o Custom para determinar a interface gráfica Fluxbox. Isso indicará qual gerenciador de janelas deverá ser chamado no caso de uma conexão bem sucedida. No exemplo foi selecionada a resolução de 800x600, pois a estação de testes roda a 1024x768 e não havia interesse em ocupar a tela inteira (padrão).

Um detalhe importante: a opção de habilitar o SSL no tráfego pode ser utilizada para encriptar os dados da sessão e com essa opção o tráfego será somente pela porta que foi determinada, no nosso caso 37775. O SSH só é utilizado para autenticar, depois disso é aberta uma nova porta por onde passam os dados. Essa conexão normalmente não é encriptada.

Para finalizar, podemos criar um ícone na área de trabalho, abrir a janela de configurações avançadas, ou simplesmente finalizar o processo e iniciar nossa conexão.

Página anterior     Próxima página

Páginas do artigo
   1. Apresentação
   2. Configuração do FreeNX
   3. Instalação do NOMACHINE Client
   4. Acessando o servidor e agradecimentos
Outros artigos deste autor

Configuração do DKIM no Debian com Postfix e Múltiplos Domínios

ISCSI - Um sistema de transferência de arquivos diferente

Instalando o Squid + SquidGuard

KnowledgeTree - Um Gerenciador Eletrônico de Documentos funcional

Firewalls redundantes utilizando VRRP

Leitura recomendada

Enviando mensagens para celulares TIM através de script

Instalando um sistema tradutor de línguas no seu Linux

Gravando vídeo aulas no Linux

Resolvendo dependências no Slackware com slackpkg

Monitoramento de Serviços e Servidores

  
Comentários
[1] Comentário enviado por gilps em 15/08/2006 - 16:22h

Olá!
Otimo artigo!
No meu faz uma coisa estranha:
aparece "RSA key finguerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
are you sure you want to continue connecting? Yes or No"
clico em sim e aparece "connection completed" e depois "session startup failed"
Os detales de log são estes:
================================
NX> 203 NXSSH running with pid: 5067
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.7.121 on port: 37775
NX> 211 The authenticity of host '192.168.7.121 (192.168.7.121)' can't be established.
RSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX.
Are you sure you want to continue connecting (yes/no)?
Warning: Permanently added '192.168.7.121' (RSA) to the list of known hosts.
NX> 202 Authenticating user: nx
NX> 208 Using auth method: publickey
HELLO NXSERVER - Version 1.4.0-04 OS (GPL)
NX> 105 hello NXCLIENT - Version 1.4.0
NX> 134 Accepted protocol: 1.4.0
NX> 105 SET SHELL_MODE SHELL
NX> 105 SET AUTH_MODE PASSWORD
NX> 105 login
NX> 101 User: gil
NX> 102 Password:
NX> 103 Welcome to: beto user: gil
NX> 105 listsession --user="gil" --status="suspended,running" --geometry="1024x768x24+render" --type="unix-kde"
NX> 127 Sessions list of user 'gil' for reconnect:

Display Type Session ID Options Depth Screen Status Session Name
------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------


NX> 148 Server capacity: not reached for user: gil
NX> 105 startsession --link="adsl" --backingstore="1" --nodelay="1" --encryption="1" --cache="8M" --images="32M" --media="0" --session="teste" --type="unix-kde" --cookie="fe00f41384ac43c6a19affcc2d7ff594" --geometry="800x600+112+65" --kbtype="pc102/br" --screeninfo="800x600x24+render"

NX> 1000 NXNODE - Version 1.4.0-04 OS (GPL)
NX> 700 Session id: beto-1000-53227E96CAEC5585B8966A124B0AF408
NX> 705 Session display: 1000
NX> 703 Session type: unix-kde
NX> 701 Proxy cookie: f5502a0c36db1c1fb2a8415c11b77491
NX> 702 Proxy IP: 127.0.0.1
NX> 706 Agent cookie: fe00f41384ac43c6a19affcc2d7ff594
NX> 704 Session cache: unix-kde
NX> 707 SSL tunneling: 1
NX> 105 /usr/lib/nx/nxserver: line 1035: 5230 Terminado ( sleep 10; exit 1 )
NX> 504 Session startup failed.
NX> 1004 Error: nxagent failed to start with: Unrecognized option: 1
NX> 1001 Bye.
Killed by signal 15.
==================================

[2] Comentário enviado por juniorsemacento em 24/08/2006 - 14:40h

Grande Gilberto Russo...
E ae cara.. tudo bom?

Belo artigo hein?
Vi hoje na LinuxSecurity e vim aqui ver quando li que era do Gilberto Russo =D

Legal o artigo.. vou testar aqui na empresa.


Abração cara

Junior
Floripa

[3] Comentário enviado por kusanagui em 25/08/2006 - 10:25h

intaum Amigo Peguei e instalei aki na minha empressa soh q da uns erros aki toh meio perdido se der pra da uma forca
vo manda o log q exibe.

NX> 703 Session type: windows
NX> 701 Proxy cookie: 0a07d6e0130c6766008888a8c69c9e49
NX> 702 Proxy IP: 192.168.1.33
NX> 706 Agent cookie: 63a9f0ea7bb98050796b649e85481845
NX> 704 Session cache: windows
NX> 707 SSL tunneling: 0
NX> 1004 Error: Session did not start.
NX> 504 Session startup failed.
NX> 999 Bye
NX> 1001 Bye.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts