oct 03 2009

Soporte remoto con freenx sin abrir puertos en el cliente parte2

Categoría: Generaladmin @ 20:33

Continuando con el post anterior.

Instalación del servidor ssh y freenx en ubuntu 9.04 en la pc del cliente.
sudo apt-get install openssh-server
O pueden buscarlos desde synaptic.
Con la instalación por defecto funciona sin problemas.

Instalación del servidor ssh en la pc de soporte.
Con la instalación por defecto ya funciona pero pueden modificarlo de ser necesario, por ejemplo, para loguear con clave RSA en lugar de usuario y contraseña, cambiar el puerto por defecto, poner al servidor ssh en una jaula chroot, etc.

Teniendo los servidores instalados, solo falta probarlos.
En la PC del cliente podemos generar un script con lo siguiente:

#!/bin/sh
#Script para iniciar la conexión ssh y redireccionar el puerto
puertoredireccionado="22222" #modificar por el puerto que quieran, mientras que no sea uno menor a 1024 que solo root tiene acceso
puertossh="22" #modificar por el puerto donde esta corriendo el servidor ssh del cliente
usuario="user" #modificar por un usuario que tenga acceso al servidor ssh local
dns="www.elrengo79.com.ar" #modificar por la ip o dominio donde esta el servidor ssh local
puertoserv="2222" #modificar por el puerto donde tengan corriendo el servidor ssh local
ssh -R 0.0.0.0:$puertoredireccionado:localhost:$puertossh $usuario@$dns -p $puertoserv

La sentencia “-p puertoserv” solo es necesaria si el servidor ssh local esta corriendo en un puerto distinto al 22
También podríamos agregar la sentencia -i id_rsa si tenemos habilitada la opción de loguear con clave rsa (id_rsa es el nombre de la key publica generada)
Ahora solo falta darle permiso de ejecución al script y  crear un lanzador en el escritorio dándole la opción de “aplicación en terminal”
Si quisiéramos que el cliente no tenga una terminal abierta podemos agregar la opción -f sleep 5000, con lo que no necesita una terminal abierta y nos da 5000 segundos para hacer el soporte.

Estoy preparando un front-end en Python para el cliente, si a alguien le interesa me avisa.

Etiquetas: , , , , ,


oct 03 2009

Soporte remoto con freenx sin abrir puertos en el cliente parte1

Categoría: Generaladmin @ 19:47

Viendo el poco rendimiento que tiene dar soporte remoto por VNC cuando la conexión es lenta, me decidí a armar algo similar pero con Freenx.

Ventajas:
1- La visualización del escritorio es mucho mas ágil.
2- Todo el trafico va encriptado.
3- Se puede acceder a la PC en una nueva sesión, por lo tanto el usuario podría seguir trabajando mientras estamos conectados.
4- Permite resumir una sesión abierta.

Desventajas:
1- Necesitamos un servidor ssh instalado del lado cliente y otro del lado soporte (el ssh del soporte es solo necesario para realizar redirección de puertos y evitar que el cliente tenga que abrir puertos en su router/firewall.).

El funcionamiento es el siguiente:
El cliente genera una conexión a nuestro servidor ssh redireccionando su puerto 22 (o en el que corra el ssh).
El comando seria algo como:
ssh -R 0.0.0.0:puertoredireccionado:localhost:puertossh usuario@dns -p puertoserv.

donde -R habilita la redirección de puertos en el servidor remoto.
0.0.0.0 habilita a cualquiera a conectarse al puerto redireccionado
puertodireccionado es el puerto que quiero que quede a la escucha en mi servidor(conectado con el del ssh remoto).
puertossh es el puerto donde esta corriendo el ssh remoto.
usuario es un usuario habilitado para ingresar por ssh en el servidor local.
dns es la ip o dominio del servidor local.
puertoserv es el puerto donde tenemos corriendo el servidor ssh local.

Un ejemplo para que quede mas claro, suponiendo que mi servidor ssh corre en el puerto 2222, mi dominio es www.elrengo79.com.ar, mi usuario clientes tiene permiso de acceso al ssh server y el ssh server del cliente en el 22, la conexión seria:
ssh -R 0.0.0.0:5555:localhost:22 clientes@www.elrengo79.com.ar -p 2222

Para que el cliente pueda conectar necesitamos tener redireccionado el puerto ssh en nuestro firewall/router.
Luego que el cliente se conecta, ya estamos listos para darle soporte con cualquier cliente NX conectándonos a localhost:puertoredireccionado

La seguridad de nuestro servidor ssh depende de como lo configuremos, en mi caso tengo un openssh-server con chroot, logueando con key RSA en un puerto distinto al 22 y está en la misma PC que funciona de firewall.

Etiquetas: , , , , ,