Ferramentas de diagnóstico e control remoto
O servizo SSH
Un dos servizos básicos para os que se pode utilizar unha rede é o acceso a computadores por medio dun terminal remoto. Para iso, é preciso establecer un protocolo que faga posible que o computador remoto e o sistema en que queira traballar o usuario poidan entenderse. Dende o punto de vista do administrador dunha LAN o acceso remoto permite xestionar un equipo, xeralmente un servidor, sen necesidade de estar fisicamente nel.
Inicialmente en Internet, o protocolo de terminal máis utilizado foi Telnet (1983, RFC 854). Actualmente non debería usarse por presentar importantes problemas de seguridade xa que a comunicación entre o servidor e o cliente faise en texto plano. Hai implementacións de servidores e clientes en todos os sistemas multiusuario que utilizan TCP/IP. O programa cliente chámase telnet e para conectarnos a unha máquina tecleamos:
telnet nome_ou_ip_servidor
O substituto de telnet é SSH ou Secure SHell que ofrece autenticación (Telnet tamén a proporciona), confidencialidade e integridade. SSH permite conectarse remotamente e de xeito seguro a dous equipos unidos mediante unha rede insegura, como Internet, e ademais permite tamén a transferencia segura de ficheiros entre computadores.
Tanto Telnet como SSH usan TCP como protocolo de transporte e seguen a arquitectura cliente/servidor. O usuario establece unha conexión co servidor, que está esperando peticións de conexión nun porto determinado (por defecto, 22 para SSH e 23 para Telnet ). Coma noutros servizos, pódese configurar para utilizar calquera número de porto por enriba de 1024 para as conexións.
A aportación máis importante da ferramenta SSH é que dá soporte seguro a calquera protocolo de aplicación que funcione sobre TCP, cifrando a información entre o nivel de aplicación e o de transporte, sendo transparente ao usuario.
A versión libre máis importante de SSH é OpenSSH. OpenSSH pode usar moitos métodos de autentificación, incluíndo un simple contrasinal, infraestrutura de clave pública, etc.
Instalación e configuración de OpenSSH
A instalación do cliente e do servidor en Ubuntu é sinxela, xa que está nos repositorios. Abonda con abrir unha consola e teclear:
sudo apt-get install openssh-client sudo apt-get install openssh-server
Para configurar o servidor OpenSSH hai que editar o ficheiro:
/etc/ssh/sshd_config
Ollo, porque hai outr ficheiro dentro de ssh que configura o cliente no canto do servidor.
Para ter información detallada dos parámetros do servidor podes teclear:
man sshd_config
Coas opcións por defecto o servidor e o cliente xa deberían funcionar.
Túneles SSH
Un túnel SSH é unha técnica que permite convertir un protocolo non seguro en seguro sen modificalo. O procedemento consiste en crear o que se chama un túnel que non é outra cousa que un mapeado ou reenvío de portos (Port Forwarding). Todos os datos que vaian polo porto mapeado pasarán pola conexión segura, tal e como se ve na seguinte figura:
O mecanismo de reenvío de portos pode activarse ou non desde a configuración do servizo SSH.
No seguinte exemplo establécese un túnel SSH entre un cliente e un servidor. O que se está facendo é reenviar o porto local 10080 ao porto 80 no servidor, a través de SSH:
ssh -L 10080:www.exemplo.org:80 servidorssh.exemplo.org
O que realmente sucederá é o seguinte:
- Lánzase o cliente SSH dende a liña de comando.
- O cliente SSH conectarase coa máquina remota.
- O cliente SSH abrirá o porto 10080 na máquina local (interface 127.0.0.1).
- Cando un navegador se conecte á dirección www.exemplo.org:10080 na máquina cliente o programa cliente /usr/bin/ssh aceptará a conexión.
- O cliente SSH solicitará ao servidor SSH, a través dunha conexión encriptada, que acceda ao porto 80 no destino.
- O cliente colle cada bit que se envíe ao porto 10080 e envíao encriptado ao servidor a través da conexión segura. O servidor desencripta os datos e reenvíaos ao porto 80 de www.exemplo.org, e viceversa.
Servidor de terminais gráfico
Ata agora vimos os accesos remotos en modo texto, é dicir, mediante un símbolo de sistema coma se se tratase dunha ventá en liña de comandos. Linux utiliza para as aplicacións gráficas o sistema X-Windows que segue a arquitectura cliente-servidor, polo que podemos explotar esta característica para realizar conexións gráficas remotas.
Cando executamos aplicacións gráficas directamente sentados no servidor, as aplicacións dirixen a súa saída cara ao servidor grafico local con dirección IP é 127.0.0.1, pero cando executamos aplicacións gráficas desde un terminal, a saída dirixirase cara ao servidor gráfico do terminal. Polo tanto, para gozar dun terminal remoto en modo gráfico con X-Window, debemos dispor no noso terminal remoto dun servidor grafico X. Os clientes do noso servidor gráfico X serán as aplicacións que lancemos no servidor e que redirixirán a saída cara ao noso servidor gráfico para que poidamos visualizar no noso terminal as ventás xeradas polas aplicacións. As aplicacións execútanse no servidor pero as ventás visualízanse no terminal.
Para realizar isto de forma sinxela e segura, podemos utilizar ssh. Se no servidor dispomos dun servidor ssh coa opción de 'redirección X' activada (X11Forwarding yes), desde o cliente podemos conectarnos ao servidor cun cliente ssh e executar aplicacións gráficas xa que o servidor ssh encárgase de redireccionar a saída gráfica das aplicacións que executemos, cara ao noso terminal, e ademais as comunicacións irán encriptadas.
A variable X11Forwarding está activada por defecto no ficheiro /etc/ssh/sshd_config:
X11Forwarding yes
Para realizar a conexión gráfica remota por ssh hai que teclear o seguinte:
ssh -X nome_usuario@equipo
A opción -X permite redirixir Xwindows. Se lanzamos, por exemplo, o gedit estaremos executándoo na máquina remota pero véndoo na máquina local.
Todos os Linux dispoñen de servidor gráfico X. Tamén existen servidores gráficos X para sistemas operativos Microsoft Windows, algúns de pago como X-win32 e libres como Xming ou como cygwin.
Exemplos conexión SSH
Exemplo 1. Distribución Live SystemRescueCD. Conexión ao seu servidor SSH e configuración do mesmo
Exemplo 3. Aplicacións prácticas do Exemplo2
Exemplo 4. Conexión SSH sen contrasinal
--ricardofc [26/04/10]
Control remoto VNC
VNC é un servizo que permite establecer conexións remotas dende outros PC da rede ao servidor, de forma gráfica, de maneira similar a se fose un servidor de terminais.
A diferenza máis significativa con respecto a un servidor de terminais Xwindow, como o que vimos no punto anterior, é que cando facemos unha conexión Xwindow o cliente debe dispor dun servidor gráfico, e cando facemos a conexión con VNCServer, a imaxe xérase no servidor e o que flúe pola rede son pantallazos, desa forma o cliente pode ser máis lixeiro pero a carga do servidor é moito maior.
Para que poida funcionar é necesario instalar e executar o servidor VNC. Este servidor atenderá as peticións dos clientes. O terminal deberá dispor do cliente de VNC chamado vncviewer do que hai versións para Linux, Microsoft Windows e incluso MS-DOS.
Cando executamos o servidor de VNC, créase un novo escritorio virtual (novo display X) ao cal se pode acceder de forma remota co cliente de VNC. Pódense executar tantos servidores VNC como permita a memoria do sistema, podendo varios usuarios acceder de forma simultánea, cada un ao seu escritorio independente, ao contrario que a versión do servidor VNC para Windows que só permite acceder ao escritorio principal. Podemos forzar a introdución dun contrasinal para permitir o acceso vía VNC ao servidor.
Na estación de traballo onde se execute o visor de VNC, este aparece como unha ventá no escritorio local, pero as aplicacións son executadas no servidor.
VNC nunha distribución GNU/Linux baseada en Debian
Instalación Servidor VNC
Lanzar un terminal e proceder do seguinte xeito para un usuario distinto de root pero con permisos de root mediante o comando sudo:
Este artigo está en construción. Os autores do mesmo están traballando nel.
Se queres axudar a súa realización ou, simplemente, queres facer algún tipo de comentario, envía un mail a un dos autores que aparecen no pé deste artigo."
Iniciar Servidor VNC
Unha vez instalado o Servidor VNC vnc4server proceder do seguinte xeito:
Instalar Cliente VNC
Lanzar un terminal e proceder do seguinte xeito para un usuario distinto de root pero con permisos de root mediante o comando sudo:
Iniciar Cliente VNC
Proceder:
--ricardofc [05/06/10]
VNC en Windows
Instalación Servidor VNC
Descargar Servidor VNC para Windows: UltraVNC
Descargar UltraVNC dende a ligazón: http://www.uvnc.com/download/ procedendo do seguinte xeito:
Iniciar Servidor VNC
Se na instalación do Servidor UltraVNC creouse un acceso directo no Escritorio, entón proceder:
Instalar Cliente VNC
O procedemento de instalación do Cliente VNC UltraVNCViewer pode ser o mesmo que o de instalación Servidor VNC UltraVNC (ver a seguinte ligazón: Instalación Servidor VNC), pero se se quere instalar soamente o cliente VNC UltraVNCViewer, e non tamén o servidor, realmente so difire nas seguintes imaxes:
Iniciar Cliente VNC
Proceder:
a. Dobre click acceso directo UltraVNCViewer | b. IP:display |
c. Contrasinal da conexión: abc1234. Pulsar Enter ou picar en Log on | d. Conexión VNC establecida |
--ricardofc [06/06/10]
--Arribi 10:12 5 may 2009 (BST)