CIFP Juan de Colonia ASIR
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
UT 5: SERVICIOS DE ACCESO Y ADMINISTRACIÓN REMOTA
1. Descripción de los servicios de acceso remoto ...................................................................... 3 1.1. Introducc Introducción ión ................................. .................................................. .................................. .................................. .................................. ................................. ................ 3 1.2. TELNET............. TELNET.............................. ................................... ................................... .................................. .................................. .................................. ........................ ....... 4 1.3. RLOGIN........ RLOGIN......................... .................................. .................................. .................................. .................................. .................................. .............................. ............. 4 1.4. SSH (secure shell) ........................................................................................................... 4 1.5. Escritorio Remoto VNC (Virtual ( Virtual Network Computing , Computación en Red Virtual) ........ 5 1.6. Terminal Terminal Server Server ................................. .................................................. .................................. .................................. .................................. ........................... .......... 5 1.7. Acceso remoto mediante interfaz web ............................................................................. 5 2. Acceso remoto a un equipo Linux .......................................................................................... 6 2.1. TELNET TELNET y RLOGIN RLOGIN ................................ ................................................. ................................... ................................... .................................. ..................... .... 6 2.2. SSH: Implementación con OpenSSH .............................................................................. 6 2.3. Escritorio Remoto VNC .................................................................................................. 10 3. Acceso remoto a un equipo Windows .................................................................................. 10
BIBLIOGRAFÍA Y REFERENCIAS o Servicios de red e Internet , F.J. Molina Robles y E. Polo Ortega. Editorial Ra-Ma. Madrid 2011. Capítulo 5: "Terminal remoto".
o
Administración de Sistemas Operativos . J. Gómez López y O.D. Gómez López. Editorial RA-MA. Madrid 2011. Apartados 6.2 (Terminal Server), 6.3 (Windows Server Update Services), Apartado 13.2 (Linux: Acceso remoto al sistema)
o
Configuración de Infraestructura de red de Windows Server 2008. Training Kit. MCTS. Examen 70-642 Capítulo 9. Administrar las actualizaciones actualizaciones de software Capítulo 10. Monitorizar Monitorizar ordenadores
Referencias en Internet: o SSH o http://www.openssh.com http://bootlog.org/blog/linux/tip-ssh-sc g/linux/tip-ssh-scp-y-un-as-b p-y-un-as-bajo-la-manga ajo-la-manga o http://bootlog.org/blo o Escritorio remoto VNC: http://www.ubuntu-guia.com/2010/03 guia.com/2010/03/escritorio-remo /escritorio-remoto-en-ubuntu.html to-en-ubuntu.html o http://www.ubuntu-
Curso 2011/2012
1
CIFP Juan de Colonia ASIR
Curso 2011/2012
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
2
CIFP Juan de Colonia ASIR
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
1. Descripción de los servicios de acceso remoto 1.1. Introducción ¿Para qué necesitamos el acceso remoto? o Utilizar un recurso software que no podemos utilizar en nuestro equipo porque o tiene un coste elevado o requiere un hardware del que no disponemos (costoso o cualquier otro motivo) o Realizar
tareas administrativas en un equipo remoto.
Características de los servicios de acceso remoto o Permiten al usuario acceder desde un equipo a otro
equipo distante geográficamente,
dando la impresión de estar situado frente al equipo. o El usuario tiene que autenticarse, aunque hay algunas excepciones. o Existen
varios protocolos que proporcionan el servicio de acceso remoto. Cada
protocolo tiene unas características diferentes. El protocolo elegido dependerá de la utilidad que le queramos dar. o En general, podemos clasificar los servicios de acceso remoto en dos grupos, según
proporcionen acceso remoto mediante terminal o mediante interfaz gráfico .
Acceso remoto mediante terminal o Los clientes pueden ser programas específicos (ej. telnet, ssh, scp, etc.) o emuladores
de terminal. o Los
emuladores de terminal son programas que simulan una de las antiguas
terminales Unix (teclado, pantalla y dispositivo de comunicación del servidor). o Los principales servicios para acceso mediante terminal son: •
TELNET
•
RLOGIN
•
SSH
Acceso remoto mediante interfaz gráfico o Los principales servicios para acceso mediante terminal son: •
Escritorio remoto VNC (Virtual Network Computing)
•
Terminal Server: 1. Escritorio remoto, protocolo RDP 2. Servidor de aplicaciones
•
Curso 2011/2012
Acceso remoto mediante interfaz Web
3
CIFP Juan de Colonia ASIR
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
1.2. TELNET Proporciona acceso remoto mediante terminal. Es un servicio inseguro, ya que la autenticación de los usuarios se transmite por la red sin encriptar pudiendo ser interceptada. Tampoco se encripta el resto de las comunicaciones.
Características o Es un servicio proporcionado por el protocolo que lleva el mismo nombre. o Es un protocolo muy flexible que permite, no sólo el acceso remoto a un servidor, sino que se utiliza como soporte de otros servicios (FTP o HTTP). o El puerto utilizado por defecto es el
TCP 23.
Cómo funciona o Inicialmente se puede efectuar un
intercambio de parámetros como, por ejemplo, el
tipo de terminal utilizado por el cliente (ej. vt100).
nombre de un usuario y contraseña para iniciar sesión. o Tras comprobar su validez, queda establecida la sesión. o Una vez iniciada la sesión, el servidor recibe las pulsaciones emitidas por el cliente, o Después se requiere el
el servidor las reenvía y se muestran al cliente (eco). El servidor interpreta esas pulsaciones (ej. ejecución de una orden) y devuelve su resultado visible al cliente.
1.3. RLOGIN Muy parecido a TELNET. También es inseguro, al no utilizar cifrado.
Características o Los usuarios no tienen que introducir la contraseña para utilizar este servicio, con lo
cual no será interceptada. o El puerto utilizado por defecto es el
TCP 513.
1.4. SSH (secure shell) Características o Es un servicio proporcionado por el protocolo que lleva el mismo nombre. o Muy parecido a TELNET, pero con grandes mejoras: Seguridad Funciones adicionales para copia y transferencia de archivos Posibilidad de ejecución de aplicaciones en el entorno gráfico Permite establecer un túnel seguro para otros servicios menos •
•
•
•
seguros como POP, Telnet, VNC, FTP. o El puerto utilizado por defecto es el
puerto TCP 22.
Cómo implementa la seguridad o Utiliza mecanismos de clave pública y privada para el cifrado de la información, basados en algoritmos RSA y DSA.
nombre del usuario como la contraseña viajan cifrados por la red. Una vez iniciada la sesión, la información intercambiada entre ambos circula
o Tanto el o
encriptada. Curso 2011/2012
4
CIFP Juan de Colonia ASIR
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
1.5. Escritorio Remoto VNC ( Virtual Network Computing , Computación en Red Virtual) Características o Permite controlar de modo gráfico otro equipo. o El puerto utilizado por defecto es el
puerto 5900.
o Suele utilizar el puerto 5800 para accesos vía web. o El software servidor requiere establecer una contraseña que los clientes deberán
conocer e indicar en cada uno de sus accesos. o Para establecer varias sesiones con el servidor, cada cliente debe indicar el número de
terminal y puede configurar diversos parámetros, como los referentes a la transmisión y a las características del escritorio.
1.6. Terminal Server Aplicación de los sistemas operativos Windows Server 2000 y posteriores, que admite dos modos de funcionamiento.
Modo de administración remota: escritorio remoto o Implementa el servicio de Escritorio Remoto, como VNC, pero en lugar de utilizar el
protocolo VNC utiliza el protocolo RDP (Remote Desktop Protocol , Protocolo de Escritorio Remoto)
o En los sistemas XP y siguientes viene instalado el cliente y el servidor. o El puerto utilizado por defecto es el
puerto 3389.
Modo servidor de aplicaciones o Permite al cliente ejecutar aplicaciones instaladas en el servidor. o Las aplicaciones a utilizar con Terminal Server deben instalarse posteriormente a este
servicio. o Recomendable cuando los servicios hardware del cliente sean insuficientes para la
ejecución de aplicaciones.
1.7. Acceso remoto mediante interfaz web VNC VNC permite habilitar el puerto 5800 para poder acceder al servicio mediante un navegador web.
Escritorio remoto A partir de Windows XP. Es necesario que esté instalado el servidor HTTP. Tras su instalación, el sistema operativo crea en el sitio web por defecto la carpeta tsweb (XP y 2003) o ts (2008) con las páginas necesarias y un control ActiveX disponible para los navegadores de los clientes que deseen utilizar este servicio.
Administración remota (Windows 2003) Permite la instalación de un componente de IIS denominado Administración remota (HTML) para administrar mediante un navegador web un servidor. Atiende conexiones seguras a través del puerto 8098.
Curso 2011/2012
5
CIFP Juan de Colonia ASIR
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
2. Acceso remoto a un equipo Linux 2.1. TELNET y RLOGIN Como se dijo antes, tanto TELNET como RLOGIN son protocolos no seguros, por lo que no se suelen utilizar para administrar remotamente un equipo. Los paquetes/programas servidor y cliente son:
TELNET Servidor Cliente Linux
Cliente Windows
RLOGIN
telnet-server
(OpenSuSE y Fedora)
telnetd
(Ubuntu).
telnet (suele
estar
instalado
en
todas
rsh-server
las
distribuciones El Cliente telnet es una característica de Windows (o una opción de Windows en las versiones anteriores a Windows Vista).
El emulador de terminal Putty puede realizar una conexión utilizando Telnet o Rlogin.
2.2. SSH: Implementación con OpenSSH 2.2.1. Introducción a OpenSSH OpenSSH es una versión LIBRE de las herramientas de conectividad SSH. Los usuarios de telnet, rlogin y ftp no se dan cuenta de que su contraseña se transmite por Intenet desencriptada, pero es así. OpenSSH encripta todo el tráfico (incluyendo las contraseñas) para eliminar efectivamente ataques. Adicionalmente, OpenSSH proporciona capacidades de crear túneles y varios métodos de autenticación, y soporta todas las versiones del protocolo SSH. La suite OpenSSH reemplaza rlogin y telnet con el programa ssh, rcp con scp, y ftp con sftp. También incluye sshd (el servidor ssh) y otras utilidades como ssh-add, ssh-agent, sshkeysign, ssh-keyscan, ssh-keygen y sftp-server.1 Los paquetes/programas servidor y cliente son:
Servidor Cliente Linux
Paquetes
Programas
openssh-server
sshd, ...
(Ubuntu)
ssh
openssh-clients (Fedora)
scp
(suele estar instalado)
sftp, ...
openssh-client
Cliente Windows
1
Emuladores de terminal, como puTTY, WinSCP
http://www.openssh.com
Curso 2011/2012
6
CIFP Juan de Colonia ASIR
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
2.2.2. Configuración del servidor SSH Configuración del servidor Script de administración del servicio ssh
/etc/init.d/sshd
Directorio de configuración
/etc/ssh/
Contiene el archivo de configuración y las claves pública y privada del servidor utilizando distintos algoritmos.
Archivo de configuración
/etc/ssh/sshd_config
Fichero de configuración /etc/ssh/sshd_config Se ven a continuación algunas opciones que se pueden configurar. Para más información, consultar el manual: man sshd_config 5 .
Opción
Significado
Port 22 ListenAddress 0.0.0.0
Puerto en el que escucha el servicio Direcciones IP que se pueden escuchar. Por defecto, todas Por defecto, el usuario root puede iniciar sesión a través de ssh. Usuarios que pueden acceder, y desde qué equipo se admite la conexión (si se especifica) Si el subsistema sftp se implementa en ssh y qué comando lo implementa.
PermitRootLogin yes AllowUsers usu1[@IP1] usu2[@IP2] Subsystem sftp /...
2.2.3. Configuración del cliente SSH Configuración del cliente Directorio de configuración
/etc/ssh/
Contiene el archivo de configuración general l Para obtener ayuda: man ssh_config a c ) e o t l Archivo de configuración general o n e p i l Directorio de configuración de cada i c u ( q el equipo local E
/etc/ssh/ssh_config
usuario en
Archivo con las claves de los hosts reconocidos
~/.ssh ~/.ssh/known_hosts
Contiene las claves públicas de servidores que el usuario ha aceptado.
Directorio de configuración de cada usuario en
o t el equipo remoto o ) r m o e Archivo con las claves de los clientes r d i v o r reconocidos p e i s Contiene las claves públicas de clientes para que el u ( q usuario no tenga que escribir la contraseña cada vez E
~/.ssh ~/.ssh/authorized_keys
que se conecta.
Curso 2011/2012
7
CIFP Juan de Colonia ASIR
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
2.2.4. El comando SSH Iniciar sesión con ssh Realiza una conexión con el equipo remoto. Para cerrar la sesión: exit, logout, ctrl+D. Sintaxis: ssh [usuario@]equipo
donde: usuario
Si no se especifica, se intentará iniciar sesión con un usuario que se llama como el usuario actual
equipo
Se puede utilizar el nombre de la máquina o su IP
Ejemplos ssh ssh ssh ssh
[email protected] a00so@fedora00 192.168.200.150 fedora00
Ejecutar comandos con ssh Sintaxis: ssh [-X][ usuario@]equipo comando
donde: -X
Indica que comando es una aplicación con entorno gráfico
comando
Comando que se va a ejecutar
Ejemplos ssh
[email protected] uname -a ssh -X a00so@fedora00 gnomemine
2.2.5. El comando scp (Secure CoPy) SCP es una utilidad de SSH que permite transferir archivos o carpetas entre ordenador. La sintaxis es simple scp [-r] origen destino
Donde origen y destino archivos o carpetas locales o remotas
pueden ser de esta forma: [[usuario@]equipo:]archivo -r
Permite copiar directorios de forma recursiva
Ejemplos scp archivo_local usuario@equipo:
Copiar de local a remoto
scp usuario@equipo:archivo
Copiar de remoto a local
scp -r usuario@equipo:dir
Curso 2011/2012
arch_local dir_local
Copiar una carpeta
8
CIFP Juan de Colonia ASIR
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
2.2.6. El comando sftp El comando sftp es similar al comando ftp, pero la conexión se realiza cifrada. Para poder utilizarlo, en el archivo /etc/ssh/sshd_config tiene que estar configurado el subsistema sftp: subsystem sftp …. Sintaxis: sftp [usuario@]equipo
Comandos dentro de sftp Los mismos que con ftp: help, get, put, mkdir, …
2.2.7. Configurar el servidor para admitir conexiones sin contraseña Para que el servidor acepte conexiones sin contraseña, el cliente debe generar su clave pública y añadirla al fichero ~/.ssh/authorized_keys. Los pasos para hacerlo desde el cliente serían: o
Generar un par de claves pública y privada ssh-keygen -t rsa
o
Este comando crea dos archivos: id_rsa.pub e id_rsa.
Copiar la clave pública (el archivo id_rsa.pub ) en el servidor con scp scp id_rsa.pub usuario@servidor:
o
Conectarse con ssh y ver si existe el directorio ~/.ssh.
o
Si el directorio no existe, crearlo con permisos 700. (Es necesario modificar los permisos para que funcione. La opción StrictModes, cuyo valor por defecto es yes, obliga a que se comprueben los permisos de directorios y ficheros antes de aceptar una conexión.)
o
Añadir la clave pública mv id_rsa.pub al archivo ~/.ssh/authorized_keys . Si no existiera, se crea. Si ya existía, significa que ese usuario tiene ya otros equipos "de confianza". cat id_rsa.pub >> .ssh/authorized_keys
2.2.8. SSHFS (Secure SHell FileSystem ) SSHFS es un sistema de ficheros para Linux (y otros sistemas operativos con una implementación FUSE, como Mac OS X o Free-BSD) capaz de trabajar con ficheros de un equipo remoto usando una conexión de shell segura al equipo remoto. Los efectos prácticos de esto es que el usuario pueden interactuar con los ficheros remotos, que son servidos sobre SSH como si estuvieran en su equipo local. En el equipo remoto se utiliza el subsistema SFTP de SSH.
Montar sshfs [ usuario@]host:[directorio] punto_de_montaje [opciones]
Desmontar fusermount -u punto_de_montaje
Curso 2011/2012
9
CIFP Juan de Colonia ASIR
Administración de Sistemas Operativos Unidad 5: Servicios de acceso y administración remota
2.3. Escritorio Remoto VNC 2.3.1. Introducción al Escritorio Remoto VNC En GNU/Linux se utiliza el protocolo VNC para acceso a un escritorio remoto. VNC es software con licencia GNU/GPL, existiendo versiones para diversas plataformas como GNU/Linux y Microsoft Windows. Hay varios modos de compartir el escritorio remoto. Aquí veremos sólo el proporcionado por GNOME Los paquetes/programas servidor y cliente son:
Servidor Cliente Linux Cliente Windows
Paquetes
Programas
vino
vino-server vino-preferences vinagre
vinagre gnome-rdp vncviewer tightvnc (OpenSuse) tigervnc (Fedora) xtightvncviewer (Debian) Clientes VNC como tightvnc, realVNC, UltraVNC.
2.3.2. Configuración del servidor VNC Por defecto el paquete está instalado. Se puede ejecutar la orden vinocomo administrador preferences desde una consola de terminal para establecer los parámetros del servicio.
2.3.3. Acceso desde un cliente Linux Se puede acceder mediante cualquiera de los programas indicados antes.
2.3.4. Acceso interfaz Web
remoto
mediante
Se puede acceder a un servidor remoto mediante VNC utilizando un navegador HTTP. Como requisito, debe tener activa la ejecución de applets de Java del navegador, además de tener instalado el plugin JRE (Java Runtime Environment) para el navegador a utilizar. Para acceder al equipo remoto se indicará como URL el servidor al que se quiere acceder, seguido de dos puntos y el puerto de acceso, sumándole en su caso el número de terminal. Por jemplo, si queremos utilizar el terminal número 1, indicaríamos como URL http://Servidor: 5801. También se puede utilizar la herramienta tscliente.
Curso 2011/2012
10