sábado, 19 de abril de 2014

Administrar Linux desde Windows graficamente mediante PuTTY y Xming


Explicamos cómo mostrar ventanas del modo gráfico de GNU Linux (X Window) en un escritorio Microsoft Windows. Explicamos cómo utilizar el servidor X Window para Microsoft Windows Xming. Este servidor se conecta a GNU Linux mediante el protocolo SSH, por lo que utilizaremos el cliente SSH PuTTY como puente entre Xming y GNU Linux.

Definición Xming
Xming es una implementación del Sstema X Window para el sistema operativo Microsoft Windows, Xming puede ejecutarse en Windows XP, 2003 y Vista.

Xming X Server  se basa en X.Org Server, compilado en GNU Linux con el compilador MinGW y Pthreads-Win32.

Xming está también disponible con soporte para Mesa 3D. Xming soporta multitud de lenguajes.

A diferencia de Cygwin, Xming no requiere bibliotecas en tiempo de ejecución de Cygwin .

Xming puede utilizarse con aplicaciones Secure Shell (SSH) para realizar conexiones seguras a sesiones X11 en otros equipos de la red. Soporta PuTTY como cliente de SSH.


Descarga e instalación de XmingEn primer lugar realizaremos la descarga gratuita de Xming desde la URL:

http://downloads.sourceforge.net/xming/Xming-6-9-0-31-setup.exe?use_mirror=fastbull



Guardaremos el fichero a descargar Xming-6-9-0-31-setup.exe (de 2,10MB) en la ubicación que deseemos:



Iniciaremos la instalación de Xming 6.9.0.31 en Microsoft Windows XP ejecutando el fichero descargado:



Pulsaremos "Ejecutar" en la ventana de advertencia de seguridad de Windows indicando si deseamos ejecutar un fichero descargado de Internet:



Se iniciará el asistente de instalación de Xming, pulsaremos "Next" para iniciar la instalación:



Indicaremos la ubicación donde se instalará Xming, por defecto:

C:/Archivos de programa/Xming

Tras indicar la ruta de instalación pulsaremos "Next" para continuar:



Si la carpeta de destino no existe nos mostrará un aviso indicando si queremos que el asistente la cree, pulsaremos "Sí":



A continuación indicaremos los componentes que queremos instalar, por defecto "Full installation" que instalará:
Non US Keyboard suppor
XLaunch wizard - frontend for Xming
Run utility - start programs with hidden console window
Normal PuTTY Link SSH client
Pulsaremos "Next" para continuar:



El asistente nos permitirá cambiar el nombre de la carpeta que creará en el menú Inicio de Windows, pulsaremos "Next":



A continuación podremos modificar otros parámetros de instalación, también podremos asociar XLaunch de Xming con los ficheros con extensión .xlaunch, pulsaremos "Next" para continuar:



Antes de la instalación definitiva de Xming, el asistente nos mostrará una ventana con el resumen de las opciones seleccionadas, si son correctas pulsaremos "Next" para instalar:



Un ejemplo del contenido de esta ventana:
Destination location:
C:/Archivos de programa/Xming
Setup type:
Full installation
Selected components:
Xming binary
Non US Keyboard support
XLaunch wizard - frontend for Xming
Run utility - start programs with hidden console window
Normal PuTTY Link SSH client
Start Menu folder:
Xming
Additional tasks:
Other tasks:
Associate XLaunch.exe with the .xlaunch file extension
Tras la instalación, el asistente nos permitirá ejecutar Xming, para ello marcaremos la opción "Launch Xming" y pulsaremos "Finish":



El servidor de X Window Xming se iniciará y mostrará un icono en el área de notificación:



Con esto ya tendremos preparado el sistema X Window para la conexión con PuTTY y el sistema X11 de GNU Linux.

Descarga e instalación de PuTTY
En primer lugar realizaremos la descarga gratuita de PuTTY desde la URL:

http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe



Guardaremos el fichero "putty.exe" (de 444KB) en el equipo, en la carpeta que queramos:


Tras la descarga, podremos ejecutar el fichero descargado, en realidad PuTTY no necesita instalación es suficiente con ejecutar el fichero "putty.exe":



Desmarcaremos la opción "Preguntar siempre antes de abrir este archivo" y pulsaremos "Ejecutar":



Con esto ya tendremos disponible el cliente SSH PuTTY:




Preparación de GNU Linux para servidor de SSH
Si ya disponemos del servidor SSH instalado en GNU Linux no será necesario este paso, si no lo hemos instalado seguiremos las siguientes indicaciones para hacerlo.

En primer lugar abriremos el puerto 22 en el firewall de Linux (Netfilter). Linux incorpora en el propio kernel (núcleo) un firewall, llamado "Netfilter", utilizaremos el comando iptables para configurarlo a nuestra medida. Para permitir el acceso desde fuera de nuestro equipo mediante SSH, deberemos abrir el puerto 22 en el cortafuegos, si queremos ver si ya está abierto podremos ejecutar el comando:
sudo iptables -L
Que devolverá algo así (si ya está abierto):
Chain INPUT (policy ACCEPT)target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
Chain FORWARD (policy ACCEPT)target prot opt source destination
Chain OUTPUT (policy ACCEPT)target prot opt source destination
Si no está abierto, ejecutaremos el siguiente comando:
sudo iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
Si no tenemos instalado Open SSH lo podremos hacer con el comando: en caso de que ssh no estuviera instalado habría que instalar los paquetes openssh-server yopenssh-client, con los comandos:
sudo apt-get install openssh-server
sudo apt-get install openssh-client
(para distribuciones GNU Linux Debian)

Si intentásemos acceder mediante SSH a nuestro servidor, por ejemplo con PuTTY, nos mostraría este mensaje de error:




Con el texto: Access denied. Indicando que no tenemos acceso SSH a nuestro servidor, ni siquiera con el superusuario root.

Para dar acceso a los usuarios que deseemos mediante SSH, editaremos el fichero ssh_config, ubicado en /etc/ssh/. Para ello editaremos el fichero con vi ó con nano, ejecutaremos el comando:
sudo nano /etc/ssh/ssh_config
Añadiremos la siguiente línea para permitir el acceso mediante SSH al usuario "alonso":
AllowUsers alonso
Si queremos permitir el acceso mediante SSH al superusuario root añadiremos la siguiente línea a este fichero:
PermitRootLogin yes
Aunque esto no es muy recomendable por cuestiones de seguridad.

Para indicar con qué interfaz de red se establecerá la conexión (en el caso de que tengamos varias interfaces de red con varias IPs en nuestro servidor de GNU Linux) añadiremos la línea:
ListenAddress 192.168.1.254
(donde 192.168.1.254 será la IP del equipo con GNU Linux)



Tras guardar los cambios, nos quedará configurar los ficheros hosts.deny y hosts.allow, ubicados en /etc/. Editaremos el fichero /etc/hosts.deny para indicar que deniegue todas las conexiones desde cualquier IP, añadiendo la línea:
ALL: ALL


Ahora modificaremos el fichero /etc/hosts.allow para indicarle a Linux Ubuntu que IP o rango de IPs tendrán acceso mediante SSH, añadiendo la línea:
sshd: 192.168.1.*
(le estamos diciendo que todos los equipos de la red 192.168.1.xxx tendrán acceso, para indicar una sola IP: sshd: 192.168.1.200)



Conexión Windows con GNU Linux mediante Xming y PuTTY

Tras instalar Xming, PuTTY y preparar GNU Linux para recibir conexiones SSH sólo nos quedará tener iniciado Xming y abrir PuTTY con la siguiente configuración:

En "Host Name (or IP address)" introduciremos la IP del equipo con GNU Linux, por ejemplo 
192.168.1.254.
En "Port" introduciremos el puerto utilizado por SSH, por defecto (el habitual) 22.


En "Saved Sessions" introduciremos un nombre para poder guardar la conexión y utilizarla en cualquier otro momento, por ejemplo "pclinux".



En la parte izquierda, en el árbol de opciones de PuTTY seleccionaremos la rama "Connection", dentro de esta "SSH" y la opción "X11", en X display location introduciremos la IP del equipo con Microsoft Windows XP, que será donde Xming muestre las ventanas de GNU Linux, por ejemplo 192.168.1.2, en esta ventana marcaremos también "Enable X11 forwarding":

Volveremos a la rama "Session" de la izquierda, pulsaremos "Save" para guardar la conexión en PuTTY. Para probar la conexión la seleccionaremos y pulsaremos "Open":



Si tenemos algún cortafuegos en Microsoft Windows XP deberemos abrir las conexiones para el puerto 22:



Si todo es correcto y tenemos bien configurado el servidor SSH en GNU Linux PuTTY nos mostrará una ventana de terminal pidiéndonos usuario y contraseña de GNU Linux, por ejemplo "alonso" (usuario que debe tener los permisos necesarios y existir en GNU Linux):



Con esto ya podremos ejecutar cualquier comando en GNU Linux desde nuestro Windows XP:



A continuación realizaremos un test del sistema X Window de Xming ejecutando el comando GNU Linux:
xclock
Que mostrará, si todo es correcto, la aplicación XClock de GNU Linux en el escritorio de Microsoft Windows XP:



A partir de ahora podremos ejecutar cualquier aplicación en modo gráfico en Microsoft Windows XP de GNU Linux, por ejemplo, introduciendo el siguiente comando en la ventana de terminal de PuTTY:
firefox
Abriremos Mozilla Firefox de GNU Linux en el escritorio de Microsoft Windows:



Lógicamente, todo lo que hagamos en la ventana en modo gráfico de GNU Linux se hará como si estuviésemos en el equipo con GNU Linux. Por ejemplo, si realizamos una descarga en el Firefox abierto anteriormente, la descarga la estaremos realizando en el equipo con GNU Linux al que estamos conectados:



El resultado en la ventana de terminal de PuTTY tras ejecutar una aplicación gráfica de GNU Linux en el escritorio de Windows:
alonso@pcubuntu:~$ firefox 
Xlib: extension "Generic Event Extension" missing on display "localhost:10.0".
Xlib: extension "Generic Event Extension" missing on display "localhost:10.0".
Xlib: extension "Generic Event Extension" missing on display "localhost:10.0".
Xlib: extension "Generic Event Extension" missing on display "localhost:10.0".
Podremos administrar el cortafuegos de GNU Linux en modo gráfico desde Windows XP con el comando:
sudo firestarter
(necesita privilegios de administrador, de ahí "sudo")




O el monitor de sistema de GNU Linux:
sudo gnome-system-monitor


O, por qué no, instalar cualquier paquete en GNU Linux mediante Synaptic con el comando:
sudo synaptic


Sin duda, con Xming y PuTTY tendremos una herramienta muy potente para administradores de sistemas, que con este método podrán ejecutar ventanas del modo gráfico de GNU Linux en cualquier sistema operativo Mcirosoft Windows. Por ejemplo, podremos ejecutar MySQL Administrator de GNU Linux desde Microsoft Windows:
myql-admin
Xming nos mostrará MySQL Administrator de GNU Linux (si lo tenemos instalado):



En "Server Information" podremos ver que efectivamente este MySQL Administrator es el de GNU Linux, en la variable "Operating System", con el valor "Linux 2.6.28-11-generic:



Por supuesto, desde Microsoft Windows, podremos administrar nuestro MySQL Server de GNU Linux como si estuviésemos sentados delante de este equipo, podremos crear un catálogo "ajpdsoft", añadir tablas, etc:



Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

Angel J. Reynoso
kp01 
Tel.: 829-997-4870
kp01aj@gmail.com

No hay comentarios:

Publicar un comentario