• No se han encontrado resultados

Acceso Remoto. Acceso Remoto by Rafael Lozano is licensed under a Creative Commons Reconocimiento-NoComercial- CompartirIgual 3.0 España License.

N/A
N/A
Protected

Academic year: 2021

Share "Acceso Remoto. Acceso Remoto by Rafael Lozano is licensed under a Creative Commons Reconocimiento-NoComercial- CompartirIgual 3.0 España License."

Copied!
41
0
0

Texto completo

(1)

Acceso Remoto

Este documento capítulo trata sobre la instalación y configuración

del servicio de acceso remoto que permite a los usuarios abrir

sesiones en un PC desde otro en la red. Para entornos Windows

Server se verán los servicios de escritorio remoto. Para entornos

Linux se verá SSH (Secure Shell) .

Acceso Remoto by Rafael Lozano is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España License.

(2)
(3)

Nivel de usuario: Avanzado

Escenario: La instalación y configuración de un servidor DNS se ha realizado y probado sobre dos redes locales virtuales independientes creadas en VirtualBox v4.2. En la primera se ha utilizado dos servidores Windows Server 2008 R2 y un cliente Windows 7 con la siguiente configuración: Hostname Máquina Virtual SO Hardware Conexiones de Red Servidores

de Nombres Puerta de Enlace Software adicional Red NAT Red Internared_windows

SeWiPr WS 2008 R2 HD 30GB

RAM 1GB Dinámica en 172.16.0.0/16 192.168.20.1/24 172.16.0.1 172.16.0.1 Ninguno SeWiSe WS 2008 R2 HD 30GB

RAM 1GB 192.168.20.10/24reservada DHCP 192.168.20.1 192.168.20.1 Ninguno

CW W7 HD 15GB

RAM 512 MB

Dinámica en 192.168.20.0/24

192.168.20.1 192.168.20.1 Ninguno

En la siguiente red se ha empleado un servidor Lubuntu 13.04 y un cliente con el mismo sistema operativo, según la siguiente configuración

Hostname Máquina

Virtual SO Hardware

Conexiones de Red

Servidores

de Nombres Puerta de Enlace Software adicional Red NAT Red Internared_linux

SeLiPr Lubuntu

13.04 HD 5GBRAM 512MB Dinámica en 172.16.0.0/16 192.168.21.1/24 172.16.0.1 172.16.0.1 Ninguno SeLiSe Lubuntu 13.04 HD 5GB RAM 256 MB 192.168.21.10/24 reservada DHCP 192.168.21.1 192.168.21.1 Ninguno CL Lubuntu 13.04 HD 5GB RAM 256 MB Dinámica en 192.168.21.0/24 192.168.21.1 192.168.21.1 Ninguno

Para poder acceder al servidor de acceso remoto es necesario que los servidores DHCP estén configurados correctamente y funcionando para que los clientes puedan obtener una configuración de red. También, es fundamental que los servidores DNS estén con sus zonas correctamente configuradas, tal y como se vio en el capítulo dedicado a DNS. Así, los clientes podrán acceder remotamente a un PC a través de un nombre.

Conocimientos previos: Es necesario tener conocimientos teóricos y prácticos de la configuración TCP/IP de una interfaz de red, en plataformas Windows y Linux. Para la parte de Linux se necesita saber el uso de un editor de texto plano, como nano o vi, además de los comandos básicos de Unix en gestión de archivos y directorios.

(4)
(5)

Tabla de contenido

1. Introducción al acceso remoto...1

2. Windows Remote Desktop...2

2.1 El protocolo RDP...3

2.2 Escritorio remoto en modo administración...3

2.2.1 Habilitar Escritorio remoto...4

2.2.2 Usuarios que acceden remotamente al equipo...6

2.2.3 Configuración de la conexión a escritorio remoto...7

2.3 Instalación de los servicios de Terminal Services...8

2.4 Sesiones remotas en controladores de dominio...10

2.5 Configuración de Terminal Services...11

2.6 Administración de Terminal Services...15

2.6.1 Desconectar sesiones... 16

2.6.2 Restablecer sesiones...17

2.6.3 Cerrar sesiones... 17

2.6.4 Información de los procesos...17

2.6.5 Información de las sesiones...18

2.6.6 Envío de mensajes a las sesiones...19

2.6.7 Control de las sesiones...21

2.6.8 Conexión con una sesión... 23

2.7 Instalación de aplicaciones en entornos con Terminal Services...23

2.7.1 Los modos install y execute...24

2.7.2 Comando change... 24

2.8 Clientes de escritorio remoto en Linux...25

3. SSH...27

3.1 Instalación del servidor ssh...27

3.2 Abrir una sesión remota...28

3.2.1 Autenticación con usuario y contraseña...28

3.2.2 Autenticación con clave pública...29

3.3 Ejecución remota de aplicaciones gráficas...32

3.4 Copia remota de archivos...32

3.5 Servidor FTP seguro...33

(6)
(7)

Acceso remoto

1. Introducción al acceso remoto

El acceso remoto consiste en abrir sesión y ejecutar aplicaciones en un PC desde otra ubicación de la red. El acceso remoto aporta capacidad multiusuario. Cuando un usuario se conecta a un PC mediante el acceso remoto, en realidad utiliza los recursos del propio ordenador, no los del PC concreto en la que se halla sentado. Cada usuario que se conecta remotamente obtiene su propia sesión y cada sesión está completamente aislada de las demás sesiones. Un programa que falle en una sesión puede hacer que el usuario de esa sesión tenga un problema, pero no afecta a los demás usuarios.

Un servidor de terminales es un servidor que ejecuta un software que permite a los usuarios acceder al mismo remotamente desde otros PCs (que hacen de terminales) y manejarlo como si estuvieran sentados frente al servidor.

(8)

En los sistemas Unix esto ha existido prácticamente desde siempre ya que los usuarios se conectaban al servidor mediante telnet y lanzaban procesos de forma remota. El telnet es una aplicación cliente de terminal que permite desde cualquier PC de la red conectarse a un servidor. Para que la conexión remota sea posible, el servidor deberá tener instalado el software de servidor de telnet que es el paquete telnetd. Al comenzar la conexión el usuario debía identificarse con login y

contraseña para poder utilizar el sistema, de la misma forma que lo haría si se sienta en la consola principal del servidor. El telnet está prácticamente en desuso ya que la información que se envía desde el cliente al servidor y viceversa está sin encriptar y cualquier usuario que pinche la red podrá averiguar el nombre del usuario y su contraseña fácilmente.

El sustituto del telnet es el SSH que permite conectarse a un servidor remoto pero de forma

segura ya que las comunicaciones en todo momento van encriptadas con algoritmos muy seguros de forma que es prácticamente imposible descifrar la información.

En todo momento estamos hablando de accesos remotos en modo texto, es decir, mediante un símbolo del sistema introduciendo comandos como si se tratara de una ventana del símbolo del sistema o un terminal en modo texto de Unix. En los años 80 o 90 era impensable que múltiples usuarios pudieran conectarse a un sistema remoto con terminales gráficos ya que requieren de una gran cantidad de memoria. En la actualidad, debido al abaratamiento de la memoria RAM, esto se ha convertido en una realidad.

Existen diversas soluciones para el acceso remoto en el mercado. En sistemas Windows Server se dispone de los servicios de Terminal Server. Para plataformas Linux veremos SSH

2. Windows Remote Desktop

Windows Remote Desktop (WRD) son un componente de los sistemas operativos Windows que permite a un usuario acceder a las aplicaciones y datos almacenados en otro ordenador mediante un acceso por red. WRD se puede utilizar como mecanismo para la gestión y el control de los servidores desde cualquier parte de la red o aprovechar su capacidad como servidor de aplicaciones para simplificar la implantación y el mantenimiento de aplicaciones para una población de usuarios.

El uso de los servicios de WRD requiere tres componentes: 1. Servidor de escritorio remoto.

2. Cliente de escritorio remoto. 3. El protocolo RDP.

Podemos distinguir dos tipos de instalación:

1. Modo servidor de aplicaciones.- Permite el acceso simultáneo por parte de varios clientes remotos. En este caso es necesario instalar el rol de Servidor de escritorio remoto y adquirir licencias CAL (Client Access License) para que los usuarios se puedan conectar.

2. Modo administración remota.- Proporciona acceso remoto a los servidores por parte de los administradores. Soporta solamente una sesión abierta. Por defecto, este modo no está activado, pero se puede activar sin necesidad de ninguna instalación.

(9)

sesiones y de las aplicaciones se simplifica enormemente. Sólo hay que llevar a cabo una vez los cambios en las aplicaciones o en las configuraciones, y todas las sesiones de servicios de WRD los ven. Además, los servicios de WRD permite a los administradores ver lo que sucede en las sesiones de los usuarios, o, incluso, controlarlas directamente. El personal de los servicios de atención al usuario puede ver realmente lo que ve el usuario sin necesidad de desplazarse, pudiendo compartir el control de la sesión y guiar al usuario en la resolución de problemas.

Cuando se configura en el modo predeterminado Escritorio remoto para administradores, WRD se puede utilizar también como herramienta de gestión. En este modo los administradores pueden iniciar directamente una sesión en la máquina desde sus ordenadores de sobremesa para llevar a cabo el mantenimiento normal del sistema sin tener que desplazarse hasta la consola del servidor. Pueden incluso tomar la consola del servidor real, redirigiéndola a su propio escritorio.

Esto supone una funcionalidad añadida al repertorio de los administradores, la activación del control directo de todos los servidores sin necesidad de abandonar el ordenador de sobremesa. Puede que cada administrador de sistema active el modo de administración remota de todos sus servidores. La sobrecarga del servidor es mínima en comparación con las ventajas.

2.1 El protocolo RDP

RDP (Remote Desktop Protocol) es un protocolo propietario desarrollado por Microsoft que permite la comunicación en la ejecución de una aplicación entre un terminal (mostrando la información procesada que recibe del servidor) y un servidor Windows (recibiendo la información dada por el usuario en el terminal mediante el teclado o el ratón).

El modo de funcionamiento del protocolo es sencillo. La información gráfica que genera el servidor es convertida a un formato propio RDP y enviada a través de la red al terminal, que interpretará la información contenida en el paquete del protocolo para reconstruir la imagen a mostrar en la pantalla del terminal. En cuanto a la introducción de órdenes en el terminal por parte del usuario, las teclas que pulse el usuario en el teclado del terminal así como los movimientos y pulsaciones del ratón son redirigidos al servidor, permitiendo el protocolo un cifrado de los mismos por motivos de seguridad. El protocolo también permite que toda la información que intercambien cliente y servidor sea comprimida para un mejor rendimiento en redes menos veloces, lo que puede ser interesante en multitud de ambientes de trabajo en los que se utilizan servidores de Microsoft.

2.2 Escritorio remoto en modo administración

El Escritorio Remoto en modo administración proporciona funciones de administración de servidor remoto para los sistemas operativos de la familia Windows Server, y con esta característica puede ser administrado un servidor desde prácticamente cualquier equipo de la red. No se necesitan licencias para disponer de conexión remota al servidor, y tan sólo precisamos autenticarnos previamente como un usuario habilitado para el uso de esta aplicación.

Con Escritorio remoto en Windows Server solo es posible establecer una sesión por usuario, local o remota, al mismo tiempo, o do sesiones para dos usuarios diferentes. Si abrimos una sesión remota desde un ordenador con el servidor, se cerrará la sesión local que tuviera abierta. Si por el contrario abrimos una sesión local y había una remota abierta, esta se cerrará. En ambos casos suponemos que el mismo usuario abre las dos sesiones.

(10)

Los usuarios que inician una sesión de Escritorio Remoto en su estación de trabajo, sólo ven su sesión, administrada de manera transparente por el sistema operativo del servidor e independiente de cualquier otra sesión que se pudiera estar ejecutando. El software de cliente puede ejecutarse en varios dispositivos hardware de cliente, incluidos equipos y terminales basados en sistemas operativos Windows, e incluso en otros sistemas operativos Linux o Mac.

Desde el punto de vista de la estación de trabajo donde se ejecuta el cliente de Escritorio Remoto, éste aparece como una ventana en el entorno de escritorio local que contiene sólo la cantidad mínima de software necesaria para establecer una conexión con el servidor y presentar la interfaz de usuario, el resto de funciones del sistema operativo, así como las aplicaciones, se ejecutan en el equipo servidor al que se ha conectado.

2.2.1 Habilitar Escritorio remoto

Por defecto, la característica de Escritorio remoto no está habilitada. Procederemos entonces a habilitar el Escritorio Remoto en Windows Server, de modo que permitamos el acceso remoto al equipo desde otros equipos de la red. Para habilitar el Escritorio remoto en nuestro servidor seguiremos los siguientes pasos:

1. Hacer clic en el menú Inicio y hacer clic con el botón derecho del ratón sobre Equipo.

Seleccionar la opción Propiedades.

2. Hacer clic sobre el enlace Configuración de acceso remoto.

3. Seleccionar la opción Permitir sólo las conexiones desde equipos que ejecuten Escritorio remoto con Autenticación a nivel de red (más seguro).

4. Hacer clic en e lbotón Aceptar en el cuadro de diálogo que nos avisa de la inclusión de reglas en el Firewall de Windows.

(11)

Podemos probar si desde el cliente podemos acceder remotamente al servidor mediante Escritorio Remoto. Para ello seguir los siguientes pasos:

1. En el cliente de Windows hacer clic en el menú Inicio y ejecutar Conexión a Escritorio remoto en

Accesorios.

2. Aparece el cuadro de diálogo para conectar a un equipo remoto. En el cuadro de texto Equipo

Figura 2.- Habilitar el Acceso remoto

(12)

escribir el nombre del servidor o la dirección IP. En este caso

sewipr.serviciosenred.local. Posteriormente hacer clic en el botón Conectar.

3. Si la conexión tiene éxito aparece el cuadro de autenticación de usuario. Escribir el usuario y contraseña para abrir sesión en el servidor. Posteriormente hacer clic en el botón Aceptar. 4. Aceptar el certificado del servidor.

Si todo ha ido bien habrá aparecido una ventana en la que se muestra el escritorio del servidor. En la parte superior de la pantalla parece una pestaña con el nombre del equipo en el que estamos conectados y un botón con el icono de una chincheta en la parte izquierda que permite ocultar la pestaña y cuando el ratón se mueve a la parte superior de la pantalla aparece de nuevo. Volviendo a pulsar sobre el mismo botón, dejará la pestaña fija.

El botón cerrar ventana de la parte derecha de la pestaña funciona algo diferente. Cierra la ventana de Escritorio Remoto pero deja la sesión abierta, de modo que si se vuelve a conectar con el mismo usuario, aparecerá su escritorio tal y como lo dejó. A esto se le conoce como desconectar y restablecer la sesión.

Una vez que hayamos realizado las actuaciones oportunas, y deseemos cerrar la conexión a Escritorio Remoto, es MUY IMPORTANTE indicar que NO debemos seleccionar la opción Apagar

dentro de la ventana del cliente de Escritorio Remoto, pues en dicho caso apagaremos el equipo, en vez de cerrar la conexión; la opción que hemos de seleccionar debe ser Cerrar sesión Administrador, para que el servidor siga encendido.

2.2.2 Usuarios que acceden remotamente al equipo

Cualquier usuario no puede acceder al equipo mediante Escritorio remoto. Por defecto el usuario Administrador es el único que puede hacerlo. Podemos hacer una prueba e intentar conectar

(13)

al servidor desde el cliente utilizando un usuario diferente al Administrador. Comprobaremos que aparece un mensaje de error denegando el acceso al ser un usuario que no tiene habilitado el acceso remoto.

Si deseamos permitir el acceso mediante la conexión a Escritorio remoto a otros usuarios que no sean el propio usuario Administrador del equipo hay que seguir los siguientes pasos:

1. Hacer clic en el menú Inicio y hacer clic con el botón derecho del ratón sobre Equipo.

Seleccionar la opción Propiedades.

2. Hacer clic sobre el enlace Configuración de acceso remoto. 3. Hacemos clic sobre el botón Seleccionar usuarios...

4. Aparece la ventana Usuarios de escritorio remoto. Hacer clic sobre el botón Agregar. 5. Hacer una búsqueda del usuario o grupo al que queremos habilitar el acceso remoto.

6. Si queremos quitar el usuario o grupo que tiene derecho para acceder por escritorio remoto, lo seleccionamos y hacemos clic en el botón Quitar.

7. Cuando hayamos terminado de indicar los usuarios que pueden acceder remotamente, hacer clic en el botón Aceptar.

Si ahora hacemos la misma prueba anterior veremos que si puede conectar.

2.2.3 Configuración de la conexión a escritorio remoto

Al ejecutar el cliente de escritorio remoto debemos introducir el nombre o la dirección IP de la máquina a la que vamos a conectarnos remotamente. Si hacemos clic en el enlace Mostrar opciones

podemos indicar algunas preferencias de la conexión.

En la primera ficha, General, podemos indicar la máquina a la que vamos a conectar, el usuario y Figura 5.- Usuarios de escritorio remoto

(14)

la contraseña para abrir sesión. Así, además de conectar remotamente envía los datos de apertura de sesión. También podemos guardar los parámetros de la conexión para futuras conexiones.

En la ficha Pantalla, estamos indicando el tamaño de la pantalla y la profundidad del color a utilizar. Cuanto más bajo sean estos parámetros más rápida será la conexión. Dejaremos activada la casilla Mostrar barra de conexión cuando use la pantalla completa para tener una pequeña barra en la parte superior de la pantalla de la conexión remota que nos permitirá gestionarla.

En la ficha Recursos locales indicamos el uso que daremos a los recursos de la máquina a la que nos conectamos desde el cliente, como el teclado, el sonido, impresoras, etc.

En la ficha Programas podemos configurar la ejecución de un programa nada más conectarnos. En la ficha Rendimiento podemos configurar la velocidad de la conexión y algunas características de la interfaz de usuario para hacer la conexión más rápida.

Por último, en la ficha Opciones avanzadas podemos configurar que hacer cuando hay problemas de seguridad al conectar con el servidor.

2.3 Instalación de los servicios de Terminal Services

Ya vimos en la sección anterior que Escritorio Remoto solamente permite una conexión simultánea para cada usuario o dos si son usuarios diferentes. Para tareas de administración remota del servidor es suficiente, pero para otros escenarios es claramente insuficiente.

(15)

Imaginemos que queremos dar servicio de escritorio remoto a todos los usuarios del servidor o dominio para que puedan conectarse y ejecutar alguna aplicación cuyas licencias de uso resultan muy caras y solamente disponemos de una copia instalada en el servidor para todos los usuarios de la red. En esta situación resulta conveniente que los usuarios se conecten por escritorio remoto y ejecuten esta aplicación.

Por tanto, necesitaremos instalar los Servicios de Escritorio Remoto para que los usuarios puedan abrir sesiones remotas con el servidor. Los Servicios de Escritorio Remoto es un servicio de los sistemas operativos Windows Server que permite abrir sesiones remotas a los usuarios a través de la red con el servidor. Al igual que Escritorio remoto, está basado en el protocolo RDP, pero necesita de la compra de licencias para poder usarlo. Windows Server incorpora una versión de prueba de 120 días, al cabo de los cuales habrá que adquirir las licencias si se quiere continuar usando.

Para su instalación hay que seguir los siguientes pasos: 1. Abrir Administrador del servidor.

2. Hacer clic en Roles del panel izquierdo. 3. Hacer clic el enlace Agregar roles.

4. En Antes de comenzar hacemos clic en el botón Siguiente.

5. En Seleccionar funciones de servidor activaremos Servicios de Escritorio remoto. Posteriormente hacemos clic en el botón Siguiente.

6. En la pantalla de información de Servicios de Escritorio remoto hacemos clic en el botón

Siguiente.

7. En Seleccionar servicios de rol seleccionar Host de sesión de Escritorio remoto y Acceso web a escritorio remoto. Posteriormente hacemos clic en el botón Siguiente.

8. En Desinstalar y reinstalar aplicaciones por compatibilidad nos informa que las aplicaciones actualmente instaladas pueden no funcionar bien en un entorno multiusuario, por lo que habría que desistalarlas y volverlas a instalar. Hacer clic en el botón Siguiente.

9. En Método de autenticación seleccionaremos Requerir autenticación a nivel de red y posteriormente hacemos clic en el botón Siguiente.

10. En Modo de licencia dejaremos activado Configurar más adelante para utilizar la versión de prueba de 120 días. Posteriormente hacemos clic en el botón Siguiente.

11. En Seleccionar grupos de usuarios con acceso concedido a ester servidor de Terminal Server

añadiremos los grupos y usuarios que podrán abrir sesiones remotas. Por defecto aparecerán los usuarios y grupos que ahora mismo son miembros del grupo Usuarios de escritorio remoto. Después de añadirlos, hacer clic en el botón Siguiente.

12. En Confirmar selecciones de instalación hacer clic en el botón Instalar. 13. Cuando termine habrá que hacer un reinicio del servidor.

Una vez hemos instalado Servicios de Escritorio remoto podemos hacer una prueba y abrir una sesión remota desde el cliente. Si ejecutamos Conexión con escritorio remoto en el cliente de Windows

(16)

y podemos abrir sesión remota con cualquier usuario habilitado para ello, entonces la instalación de los Servicios de Escritorio remoto habrá finalizado.

2.4 Sesiones remotas en controladores de dominio

Durante la instalación vimos como había que establecer que usuarios y grupos podrían abrir sesión remotamente. Por defecto, en los servidores que son independientes, los usuarios que pertenecen a los grupos Administradores y Usuarios de escritorio remoto pueden abrir sesiones remotas.

Sin embargo, si el servidor es un controlador de dominio solamente los usuarios del grupo

Administradores pueden abrir sesión. En este caso, si queremos que los usuarios no administradores puedan abrir sesiones remotas, entonces es necesario incluir el grupo Usuarios de escritorio remoto en

la configuración de seguridad del dominio para que sus miembros puedan hacerlo. Así, solamente tendremos que asignar este grupo a cualquier usuario que necesite abrir sesión remota.

Para ello seguir los siguientes pasos:

1. Abrir Configuración de seguridad del dominio en Herramientas Administrativas.

2. Desplegar el árbol de la consola en Configuración de Seguridad Directivas Locales →

Asignación de Derechos de usuario.

(17)

3. En el panel derecho hacer doble clic sobre la directiva Permitir inicio de sesión a través de Servicios de Terminal Services.

4. Activar la casilla Definir esta configuración de directiva. 5. Hacer clic en el botón Agregar usuario o grupo.

6. En el cuadro de texto Nombre de usuario o grupo introducir Usuarios de escritorio remoto y hacer clic en el botón Aceptar.

7. Hacer clic en el botón Aceptar.

A partir de ahora a todo usuario al que se le quiera conceder permiso para iniciar sesión remota hay que incluirlo en el grupo de Usuarios de escritorio remoto.

2.5 Configuración de Terminal Server

Para configurar las opciones que afectan a las sesiones remotas de los usuarios, disponemos de la consola de administración Configuración de host de sesión de Escritorio remoto.

En el menú Herramientas Administrativas disponemos de la carpeta Servicios de Escritorio remoto y dentro de está Configuración de host de sesión de Escritorio Remoto. Desde esta consola, podremos configurar las opciones..

En el panel central disponemos de las directivas de configuración en la sección Editar configuración. Si hacemos doble clic sobre alguna de ellas se editarán las propiedades generales. Estas son:

✔ Eliminar las carpetas temporales al salir.- Cuando un usuario crea una sesión, Terminal Services

crea unas carpetas para almacenar información sobre la sesión. Con esta directiva activada estas carpetas se borrarán.

✔ Usar carpetas temporales por sesión.- Terminal Services creará carpetas temporales por cada

sesión abierta por un usuario en lugar de utilizar las mismas carpetas para todos los usuarios. Figura 8.- Configuración de Terminal Services

(18)

✔ Restringir cada usuario a una sesión.- Sólo se permite una sesión por usuario.

✔ Modo de inicio de sesión de usuario.- Si queremos impedir que se creen sesiones de usuario

en el servidor de Terminal Services en el caso de tener previsto desconectar el servidor para realizar tareas de mantenimiento o instalar aplicaciones nuevas. Aquí podemos establecer:

Permitir todas las conexiones.- De esta manera, los usuarios pueden conectarse al servidor

de Terminal Services para establecer una sesión remota.

Permitir reconexiones, pero impedir nuevos inicios de sesión.- Un usuario que ya tenga

establecida una sesión remota en el servidor de Terminal Services puede reconectarse a esa sesión. Sin embargo, un usuario nuevo (un usuario que no tenga establecida una sesión remota en el servidor de Terminal Services) no podrá conectarse al servidor. Si se reinicia el servidor de Terminal Services, ningún usuario podrá conectarse a él.

Permitir reconexiones, pero impedir nuevos inicios de sesión hasta que el servidor se reinicie.- Un

usuario que ya tenga establecida una sesión remota en el servidor de Terminal Services

puede reconectarse a esa sesión. Sin embargo, un usuario nuevo no podrá conectarse a dicho servidor. Si se reinicia el servidor, el modo de inicio de sesión de usuario se establecerá en Permitir todas las conexiones y los usuarios podrán conectarse al servidor. También podemos establecer opciones de configuración desde la ventana de propiedades del protocolo RDP. Si en la sección Conexiones hacemos clic con el botón derecho del ratón sobre RDP-Tcp

(19)

En la pestaña Permisos indicaremos los grupos de seguridad y usuarios a los que queramos permitir el acceso por Terminal Services. De forma predeterminada sólo se permite acceso al servidor a los grupos Administradores y Usuarios de escritorio remoto.

(20)

También podríamos conceder permiso Control total para que un usuario pueda realizar ciertas operaciones, como tomar el control de una sesión o cerrarla.

En la pestaña Configuración de Cliente podemos establecer la configuración de las conexiones de cada usuario. Por defecto se deja que cada usuario configure su conexión. Para ahorrar ancho de banda se puede limitar la profundidad de color.

En la pestaña Control remoto podremos establecer las opciones de control remoto, para visualizar de forma remota cualquier sesión de cualquier usuario, tanto para visualizar la ventana del usuario como para controlarla. En este caso también prevalecerá esta configuración por encima de la individual de cada usuario. La configuración del control remoto para cada usuario se lleva a cabo en la ventana de propiedades del usuario.

En la pestaña Sesiones podremos limitar el tiempo de sesión activa/inactiva, permitir volver a conectar desde cualquier cliente, etc. En este caso también prevalecerá esta configuración por encima de la configuración individual del usuario.

(21)

2.6 Administración de Terminal Services

El Administrador de Terminal Services es un complemento de administración disponible en el grupo de programas Terminal Services del menú Herramientas administrativas para supervisar y ver información acerca de los usuarios, las sesiones y los procesos de los servidores de Terminal Services

operando en la red. Además, podemos realizar determinadas tareas administrativas, como desconectar o cerrar la sesión de algún usuario.

(22)

Si un usuario crea una sesión mediante la conexión a un servidor de Terminal Services desde un equipo cliente, está disponible la siguiente información en el Administrador de Terminal Services:

✔ En la ficha Sesiones, aparece información acerca de la sesión que se ejecuta en el servidor de

Terminal Services como por ejemplo, si la sesión está activa.

✔ En la ficha Usuarios, aparece información acerca del usuario conectado al servidor de Terminal

Services, como por ejemplo el nombre de la cuenta de usuario que inició sesión).

✔ En la ficha Procesos, aparece información acerca de qué programas se ejecutan en la sesión

de usuario del servidor de Terminal Services.

2.6.1 Desconectar sesiones

Cuando se desconecta una sesión continúan ejecutándose todos los programas de esa sesión, pero se dejan de transmitir a la terminal remota las entradas y salidas de datos de la sesión. La desconexión de una sesión deja en su estado normal los programas y los datos del usuario, lo que los protege de la pérdida de datos. La desconexión de una sesión no libera memoria ni otros recursos del servidor, y la sesión sigue contabilizándose como sesión con licencia.

Cualquier usuario puede desconectar su propia sesión, y los administradores con el privilegio de Control total pueden desconectar cualquier sesión. Para desconectar una sesión seguir los siguientes pasos:

1. Abrir Administrador de Terminal Services.

2. Seleccionamos la sesión en la ficha Sesiones y hacemos clic sobre la opción Desconectar en el panel Acciones.

3. Hacer clic en el botón Aceptar.

El equipo en el que estaba activa la sesión recibirá un mensaje como el que puede verse en la figura. Cuando se pulsa en el botón Aceptar desaparece.

(23)

2.6.2 Restablecer sesiones

Podemos restablecer una sesión si es la propia o se dispone del privilegio de control total para las sesiones. Cuando se restablece una sesión se pierde todo el trabajo de esa sesión, los programas dejan de ejecutarse y se libera la memoria. Sin embargo, si un usuario vuelve a abrir sesión cuando tenía una desconectada, la recupera tal y como la dejó cuando desconectó. Para restablecer una sesión hay que seguir los siguientes pasos:

1. Abrir el Administrador de Terminal Services.

2. Seleccionar en la pestaña Sesiones la sesión a restablecer y hacer clic en la opción Restablecer

en el panel Acciones. Se recibirá un mensaje de advertencia. 3. Hay que pulsar Aceptar y la sesión se restablecerá.

2.6.3 Cerrar sesiones

Se puede cerrar la sesión propia, o la de otro usuario si se dispone del privilegio de control total. El cierre de una sesión puede dar lugar a pérdida de datos para el usuario de esa sesión. Siempre se debe advertir a los usuarios enviándoles un mensaje antes de cerrar la sesión. Para cerrar la sesión seguir los siguientes pasos:

1. Abrir el Administrador de Terminal Services.

2. Hacer clic con el botón derecho del ratón sobre la sesión y seleccionar Cerrar sesión en el menú. Se recibirá un mensaje de advertencia.

3. Hacer clic en el botón Aceptar y la sesión se restablecerá.

2.6.4 Información de los procesos

Podemos ver los procesos en ejecución en las diferentes sesiones abiertas con el servidor en la pestaña Procesos.

(24)

Si seleccionamos un proceso y hacemos clic en Detener proceso del panel Acciones el proceso terminará.

2.6.5 Información de las sesiones

Se pueden examinar los procesos activos de una sesión y otra mucha información relativa a una sesión, incluido el cliente del que procede la sesión, el nivel de seguridad, la resolución de la sesión, etc. Para ver los procesos activos de una sesión hay que hacer lo siguiente:

1. Abrir el Administrador de Terminal Services.

2. Hacer clic sobre la sesión de la cual queremos ver la información. 3. Hacer clic sobre la opción Estado del panel Acciones.

4. Para cerrar la ventana de estado de la sesión hacer clic en el botón Cerrar. Figura 14.- Lista de procesos en ejecución

(25)

2.6.6 Envío de mensajes a las sesiones

Se pueden enviar mensajes a sesiones determinadas. Para enviar un mensaje a todas las sesiones de un servidor concreto, simplemente hay que activar todas las sesiones y enviar un mensaje a todas ellas a la vez. Para enviar un mensaje a una sesión o usuario hay que seguir el procedimiento siguiente:

1. Abrir el Administrador de Terminal Services .

2. Seleccionar la sesión o el usuario al que vamos a enviar un mensaje y hacer clic sobre la opción Enviar mensaje...

3. Escribir el mensaje que se quiere enviar. Con la combinación de teclas Ctrl+Intro se inicia una nueva línea. Hacer clic en el botón Aceptar.

(26)

Cuando se hace clic en el botón Aceptar el usuario recibirá el mensaje en un cuadro de alerta en el equipo donde tiene abierta la sesión.

También se puede utilizar el comando msg de la línea de comandos para enviar mensajes a una

sesión concreta o a todos los usuarios de un servidor. El comando msg tiene más opciones y

funcionalidad que la mensajería gráfica del Administrador de Terminal Services. La sintaxis del comando es:

msg {nombreDeUsuario|nombreDeSesión|IdDeSesión|@nombreDeArchivo|*}  [/server:nombreDeServidor] [/time:segundos] [/v] [/w] [mensaje]

Parámetros

nombreUsuario 

El nombre del usuario que debe recibir el mensaje.

nombreSesión 

El nombre de la sesión en la que se debe recibir el mensaje.

IdSesión 

El identificador numérico de la sesión cuyo usuario debe recibir el mensaje.

@nombreArchivo 

Identifica un archivo que contiene una lista de los nombres de usuario y nombres e identificadores de sesión que deben recibir los mensajes.

Envía el mensaje a todos los nombres de usuario del sistema. Figura 16.- Envío de mensaje

(27)

/server:nombreServidor 

Especifica el servidor Terminal Server a cuya sesión o usuario desea enviar el mensaje. Si no se especifica, /server utiliza el servidor en el que ha iniciado la sesión en ese momento.

/time:segundos 

Especifica el intervalo de tiempo durante el que se mostrará el mensaje enviado en la pantalla del usuario. Cuando se alcanza el límite de tiempo, el mensaje desaparece. Si no se establece el límite de tiempo, el mensaje permanece en la pantalla hasta que el usuario lo ve y hace clic en Aceptar.

/v 

Muestra información acerca de las acciones que se realizan.

/w 

Espera a que el usuario confirme que ha recibido el mensaje. Use este parámetro con /timesegundos para evitar un posible retraso excesivo si el usuario no responde inmediatamente. Su uso con el parámetro /v también resulta útil.

mensaje 

El texto del mensaje que desea enviar. En caso de que no se escriba ningún mensaje, se le pedirá que lo haga o se leerá la entrada estándar (es decir, stdin) para el mensaje. Para enviar un mensaje incluido en un archivo, escriba el símbolo menor que (<) seguido del nombre de archivo.

/? 

Muestra la Ayuda en el símbolo del sistema.

2.6.7 Control de las sesiones

Si disponemos del permidos control total, se puede conectar con la sesión de otro usuario y controlarla de manera remota. El teclado, el ratón y la pantalla serán iguales para la sesión propia y la del usuario. Esto ofrece la posibilidad de resolver fácilmente los problemas de la sesión de un usuario o de formar al usuario acompañándolo en la realización de una tarea concreta. Los datos de entrada de la sesión provienen tanto de la sesión propia como de la del usuario. Si los valores de configuración del usuario o del protocolo están definidos sólo para ver la sesión, no para controlarla directamente, solo se verá lo que haga el usuario en su pantalla, pero no se podrá interactuar con él utilizando el ratón ni el teclado.

De manera predeterminada, cuando se conecta con la sesión de un usuario utilizando el control remoto, se comunica al usuario que se establece la conexión y se le solicita que confirme su autorización. Esta notificación puede configurarse en las propiedades del usuario. En la hoja de propiedades del usuario está la pestaña Control Remoto.

(28)

Si activamos la casilla Requerir el permiso del usuario cada vez que se pretenda tomar el control de la sesión, le aparecerá al usuario propietario de la misma un cuadro de diálogo para aceptar o rechazar el control remoto. En la sección Nivel de control se puede elegir entre ver o interactuar. También se puede configurar esta notificación protocolo a protocolo para un servidor dado utilizando Configuración de Servicios de Terminal Server.

Para tomar el control de una sesión no es posible hacerlo desde la consola de Windows Server, sino que hay que abrir sesión remota con Escritorio remoto. Las opciones de Conexión y Control Remoto están deshabilitadas cuando se ejecuta el Administrador de Servicios de Terminal Server desde la consola del servidor.

Para tomar el control de la sesión de un usuario hay que seguir el procedimiento siguiente: 1. Abrir una sesión con Escritorio Remoto con el usuario Administrador o con un usuario que tenga

el permiso Control total sobre el protocolo RDP.

2. Abrir el Administrador de Terminal Services en la sesión que hemos abierto remotamente. 3. Seleccionar la sesión en la ficha Sesiones y hacer clic sobre la opción Control remoto en el panel

acciones.

(29)

4. En el cuadro de diálogo que aparece escoger una combinación de teclas adecuada para concluir la sesión remota. El valor predeterminado es Ctrl+*, donde * es el del teclado numérico.

5. Si el usuario tiene habilitado requerir su autorización se le aparecerá un cuadro de diálogo para comunicar que la sesión espera asumir el control. Si no se necesita este permiso, el usuario no recibirá ningún mensaje. Hasta que el usuario confirme el permiso para conectar con su sesión, la sesión propia aparentará estar congelada.

2.6.8 Conexión con una sesión

Se puede conectar con otra sesión del servidor en el que se está si se dispone de los permisos adecuados y la otra sesión está en un estado activo o desconectado. Siempre se puede conectar con una sesión abierta con la misma cuenta de usuario que el inicio de sesión actual, o con la sesión de otro usuario si se dispone de acceso de control total o de acceso de usuario. Se solicitará la contraseña de usuario.

Esta capacidad de conectar con otra sesión puede ser una herramienta útil tanto para los administradores como para los usuarios. Si al volver a casa uno se da cuenta de que ha olvidado concluir un informe importante se puede abrir una sesión de manera remota, conectar con la sesión de trabajo de la oficina y continuar donde se había dejado. Para conectar con una sesión hay que seguir el procedimiento siguiente:

1. Abrir una sesión con Escritorio Remoto en el servidor.

2. Abrir el Administrador de Terminal Services en la sesión que hemos abierto remotamente. 3. Seleccionar la sesión en la ficha Sesiones y hacer clic con el botón derecho del ratón sobre ella. 4. Seleccionar Conectar en el menú contextual para conectarse con la sesión. Si la sesión es de

un usuario diferente que el actual, se solicitará la contraseña de la sesión de usuario de destino. Si la sesión es propia, se cambiará de sesión y la actual se desconectará.

Solamente podemos conectarnos a sesiones de usuario desde una sesión remota.

2.7 Instalación de aplicaciones en entornos con Terminal Services

La instalación de programas en los servidores de Windows Server con Servicios de Terminal Services instalado en modo de administración remota no se diferencia de la instalación en servidores sin Servicios de Terminal Services. No se necesitan procedimientos especiales, modificaciones en el proceso de instalación ni secuencias de comando para compatibilidad especiales.

Por otra parte, la instalación de programas en servidores Windows Server con Servicios de Terminal Services instalado en modo de servidor de aplicaciones es un asunto distinto. Cuando se activa el modo servidor de aplicaciones, Windows Server sabe que debe prepararse para tratar con varios usuarios que tendrán acceso a la misma aplicación que se ejecutará simultáneamente en espacios de memoria diferentes sin interferencias ni cruces. Hay que seguir con precaución el procedimiento necesario para asegurar que la aplicación se instale correctamente y que funcione adecuadamente como aplicación multiusuario.

(30)

el programa se instalará en el modo de instalación de Terminal Server. Si este programa se instala desde otro tipo de paquete de instalación habrá que poner el servidor en modo de instalación con uno de los dos métodos siguientes:

1. Utilizar la opción Instalar Aplicación en Terminal Server del Panel de Control

2. Utilizar el comando change para pasar al modo install antes de la instalación y execute

despues de esta.

2.7.1 Los modos install y execute

Windows Server, cuando se configura como Servidor de aplicaciones de Servicios de Terminal Server, tiene dos modos de operación distintos: el modo de instalación y el modo de ejecución. Para instalar una aplicación a través de un paquete de instalación distinto a .msi hay que estar en modo

instalación, o la aplicación no se instalará correctamente.

Windows Server suele ser lo suficientemente inteligente como para reconocer si se está ejecutando un programa de instalación y automáticamente establece el modo necesario. Sin embargo si se está instalando una aplicación antigua que no está certificada para Windows Server, especialmente sino utiliza Setup.exe o Install.exe como su programa de instalación, hay que cambiar manualmente el servidor a modo de instalación antes de ejecutar la instalación.

Se puede pasar al modo de instalación de dos maneras: utilizando el comando change de la

línea de comandos, que veremos en el siguiente apartado o utilizar la opción Instalar Aplicación en Terminal Server del Panel de Control. Esta da comienzo a un asistente el cual solicitará el ejecutable que instala la aplicación. Después de terminar la instalación, el servidor volverá al modo de ejecución.

En general es mejor utilizar este método, pero cuando hay que secuenciar la instalación de varios programas se debe utilizar la versión de la línea de comandos.

Generalmente, la instalación de aplicaciones nuevas desde la consola del servidor resulta más conveniente, aunque no sea imprescindible en la mayor parte de los casos. Cuando se ejecuta la instalación desde allí, sin embargo, hay que asegurarse de que todos los usuarios han cerrado sus sesiones en el servidor de terminal antes de comenzar la instalación. Para instalar un programa utilizando hay que seguir el procedimiento siguiente:

1. Abrir el Instalar Aplicación en Terminal Server en el Panel de Control.

2. Insertar el CD que instala la aplicación. Posteriormente hacer clic en el boton Siguiente. Si no se dispone de un CD de instalación, al hacer clic en el botón Siguiente pedirá el archivo ejecutable que instala la aplicación. Podemos hacer clic en el botón Examinar para buscarlo.

3. Comienza la instalación de la aplicación. Seguir las instrucciones del asistente de instalación. 4. Una vez completada la instalación, con éxito o sin él, hay que concluir la instalación y volver al

cuadro de diálogo Finalizar instalación de administrador. Hay que pulsar en el botón Siguiente

para pasar al último cuadro de diálogo y hacer clic en el botón Finalizar o Cancelar. Si la aplicación necesita un reinicio se puede realizar ahora.

2.7.2 Comando change

(31)

Terminal Services. Permite pasar del modo de instalación al de ejecución, cambiar las asignaciones de los puertos para las sesiones de Servicios de Terminal Server y activar o desactivar los inicios de sesión en Servicios de Terminal Server. Los tres comandos básicos y sus opciones son los siguientes

change user {/execute | /install | /query}

Parámetros

/execute 

El servidor pasa al modo de ejecución. Ésta es la configuración predeterminada.

/install 

El servidor pasa al modo de instalación.

/query 

Muestra la configuración actual.

/? 

Muestra la Ayuda en el símbolo del sistema.

Con change user /install pasamos al modo de instalación. Siempre hay que hacerlo

antes de instalar una aplicación. Después de la instalación, utilizamos change user /execute

para pasar al modo de ejecución.

2.8 Clientes de escritorio remoto en Linux

También podemos acceder al servidor Windows mediante un cliente de escritorio remoto en Linux. Existen multitud de clientes de escritorio remoto en Linux para realizar esta tarea. Uno de los más habituales es tsclient, el cual viene instalado por defecto en muchas distribuciones. Otro que está utilizándose en las distribuciones Ubuntu es Remmina. Para su instalación abriremos una ventana de terminal y como usuario root ejecutaremos el siguiente comando de instalación

apt­get install remmina

Una vez instalado podemos ejecutarlo desde el menú Internet. Al hacerlo veremos una ventana en la que aparece una lista con las conexiones disponibles. Para crear una nueva seguiremos los siguientes pasos:

1. Seleccionar la opción de menú Conexiones Nueva→ . Aparece el formulario para crear una nueva conexión.

2. Escribir un nombre para identificar la conexión en la lista de conexiones. 3. Dejar el protocolo RDP.

4. Rellenar los campos Servidor, usuario y contraseña.

5. Establecer la resolución de pantalla y la profundidad del color. 6. Hacer clic en el botón Guardar.

(32)

Una vez guardada, tendremos esta conexión en la lista de conexiones. Ahora solo tenemos que seleccionarla y hacer clic en el botón de conexión. Contactará con el servidor y abrirá la sesión remota.

(33)

3. SSH

SSH (Secure Shell) es una herramienta que permite establecer conexiones seguras entre equipos conectados mediante una red insegura. Ha sido desarrollado para establecer conexiones remotas y transmitir de manera segura cualquier tipo de datos como archivos y contraseñas, así como la ejecución de órdenes de administración en un sistema remoto.

Sin embargo, su característica más importante es la seguridad que da a cualquier protocolo que funcione sobre TCP y que se basa en la utilización de mecanismos de criptografía, de forma que toda transmisión de información esté cifrada y el mecanismo de autenticación del usuario sea transparente. Funciona en la mayoría de los sistemas Linux, aunque también hay versiones para Windows y MacOS.

Las características de este servicio son las siguientes:

1. Utiliza el puerto 22 (TCP y UDP), el protocolo SSH y sigue el modelo cliente-servidor. 2. Permite la autenticación de usuarios mediante contraseña o un sistema de claves. 3. Permite su integración con otros sistemas de autenticación como Kerberos, PGP o PAM. 4. Hay una implementación para la mayoría de los sistemas operativos y plataformas.

3.1 Instalación del servidor ssh

En este apartado veremos el uso de SSH en plataformas Linux. SSH tiene una aplicación cliente para abrir sesiones remotas y una aplicación servidor para aceptar sesiones remotas. Generalmente, todas las distribuciones Linux incluyen la instalación del cliente por defecto cuando se instala el sistema operativo.

(34)

Para instalar el servidor SSH hay que ejecutar el siguiente comando en una ventana de terminal como usuario root.

apt­get install ssh

Los archivos de configuración de SSH están en el directorio /etc/ssh y los más importantes son:

✔ sshd_config.- Describe la configuración del servidor SSH. Permite establecer el puerto de escucha, la versión del protocolo, el lugar donde se encuentra la clave privada de la máquina y el algoritmo que se empleo para generarla.

✔ ssh_config.- Describe la configuración del cliente SSH. Aquí se pueden describir varias

configuraciones diferentes en función del servidor al que se conecte el cliente.

✔ ssh_host_rsa_key.- Clave RSA privada de la máquina.

✔ ssh_host_rsa_key.pub.- Clave RSA pública de la máquina.

✔ known_hosts.- Claves públicas de otras máquinas.

✔ ssh_host_dsa_key.- Clave DSA privada de la máquina.

✔ ssh_host_dsa_key.pub.- Clave DSA privada de la máquina.

Cada vez que hagamos cambios en la configuración del servidor tendremos que reiniciarlo ejecutando el siguiente comando en una ventana de terminal como usuario root.

service ssh restart

3.2 Abrir una sesión remota

Una vez hemos instalado el servidor podemos configurar los usuarios desde los equipos cliente para que abran sesión remota. Para que un usuario abra una sesión remota con el servidor SSH necesita autentificarse. Hay dos métodos de autenticación: por usuario y contraseña o por clave pública.

3.2.1 Autenticación con usuario y contraseña

El servidor SSH autentica al usuario que abre sesión utilizando su contraseña. Cada vez que el usuario establece una conexión se le pide la contraseña que envía al servidor. Este comprueba que el usuario existe y que la clave es correcta.

La sintaxis para abrir una sesión remota con el servidor es la siguiente

ssh [usuario@]servidor

Parámetros

usuario

Nombre del usuario que hace la conexión. Si se omite se emplea el usuario que abrió sesión.

servidor

(35)

En el siguiente ejemplo el usuario usuario abre sesión en el servidor selipr.

ssh selipr

El resultado es el siguiente

Como se puede apreciar en la imagen anterior, el cliente ssh informa de que no puede establecer la autenticidad del servidor al que estamos conectando. Posteriormente nos pregunta si queremos añadir este servidor a la lista de hosts conocidos. Contestaremos con yes y a partir de ahora, cuando abramos nuevas sesiones remotas con este servidor no volverá a hacernos esta pregunta. Lo que hará será introducir el identificador de este servidor en el archivo

~/.ssh/known_hosts.

Posteriormente nos pedirá la contraseña del usuario y si la hemos introducido correctamente, nos habremos conectado. Vemos que el prompt del sistema es ahora usuario@selipr.

Al no indicar el usuario que hace la conexón emplea el mismo con el que tenemos abierta sesión en el cliente. Si hubieramos querido abrir una sesión con un usuario diferente tendríamos que indicarlo y posteriormente añadiremos @nombre_de_servidor.

Para cerrar la sesión se ejecuta el comando exit.

3.2.2 Autenticación con clave pública

Una forma de conectarse más segura que la anterior es por clave pública. El uso de claves públicas para acceder a servicios como SSH, SCP o SFTP, resulta una técnica más segura para autenticar dichos servicios que el esquema clásico de usuario y contraseña, al que estamos tan acostumbrados.

Para que el servidor SSH acepte la autentificación por medio de clave pública, deberá tener activada esta opción. Por defecto esta opción ya esta activada. Si editamos el archivo de configuración

(36)

/etc/ssh/sshd_config en el servidor veremos que aparecen las siguientes líneas. RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

Además, para cada usuario que vaya a conectarse al servidor remotamente, debe de existir el directorio /home/nombre_usuario/.ssh/ y en él el archivo authorized_keys. En caso de no existir, deberemos crearlo de forma manual, asignarle los permisos correspondientes para evitar que otros usuarios puedan acceder a ella.

cd ~

mkdir .ssh chmod 600 .ssh/

Ahora hay que generar la clave del cliente. SSH permite generar claves con dos algoritmos de cifrado: RSA y DSA. Se recomienda emplear el primero ya que es más rápido para verificar las claves.

Cuando se emplea una infraestructura de clave pública para autenticar usuarios, en realidad se emplean dos claves: una clave privada para cifrar la información y una clave pública para descifrarla.

Para este par de claves que permitará autentificar al usuario, debemos ejecutar el comando

ssh­keygen. Dicho comando creará dentro de la carpeta ~/.ssh, dos archivos: uno llamado

id_rsa que será la clave privada de nuestra clave y otro llamado id_rsa.pub que será la clave pública. Éste último archivo será el que hay que copiar en el servidor remoto.

En una ventana de terminal del ordenador cliente ejecutaremos el siguiente comando.

ssh­keygen –t rsa

La salida del comando sería la siguiente

(37)

Al ejecutar el comando pedirá el nombre del fichero donde se guardará la clave pública. Aceptamos el que propone por defecto pulsando Intro. Posteriormente nos pide una frase de paso. Podemos introducir una, la cual nos la pedirá posteriormente cuando abramos sesión en el servidor. Podemos dejarla en blanco y pulsar Intro. Una vez generadas el par de claves podemos comprobar al existencia de ambos archivos en el directorio ~/.ssh.

Una vez generado el par de claves, el siguiente paso es copiar la clave pública en el servidor (o los servidores) donde tengamos pensado autentificarnos a través de clave pública y guardar en un lugar seguro la clave privada. La misma clave pública nos puede servir para acceder a cualquier servidor, no es necesario generar una nueva clave cada vez que queremos configurar el acceso remoto a un servidor diferente. La clave privada se quedará almacenada en ~/.ssh y con la máscara

de permisos 600.

Para poder identificarse en el servidor desde el cliente, debemos copiar el archivo

id_rsa.pub que hemos creado en el cliente, en la carpeta ~/.ssh del usuario, en el servidor en la

misma carpeta y en un archivo llamado authorized_keys. Para ello podemos utilizar el comando ssh­copy­id. En el cliente teclearemos el siguiente comando en una ventana de terminal

ssh­copy­id usuario@selipr

En la siguiente figura vemos la salida del comando.

Primero nos pide la contraseña del usuario en el servidor y posteriormente copia

~/.ssh/id_rsa en el servidor como ~/.ssh/authorized_keys. Si vamos al servidor comprobaremos éste último archivo.

Salvo algunos toques finales hemos terminado. Podemos comprobar como ahora accedemos al servidor mediante la clave pública y sin necesidad de introducir la contraseña.

Por último es aconsejable poner la máscara de permisos 600 al par de claves generado en el cliente.

chmod 600 ~/.ssh/{id_rsa,id_rsa.pub}

Figura 23.- Copia de la clave pública en el servidor

(38)

También podemos configurar el servidor para que el usuario root no pueda abrir sesiones remotas y que solamente se pueda acceder al servidor mediante clave pública, aunque en determinados escenarios no resulte muy aconsejable. Habría que editar en el servidor el fichero de configuración /etc/ssh/sshd_config y establecer las siguientes dos directivas.

PermitRootLogin no

PasswordAuthentication no

3.3 Ejecución remota de aplicaciones gráficas

Hasta ahora hemos abierto sesión empleando terminales de texto, que en sistemas Linux es más que suficiente para realizar configuraciones en el servidor. Sin embargo, mediante SSH existe la posibilidad de ejecutar aplicaciones gráficas en el servidor y manejarlas y visualizarlas en el cliente. El reenvío de X11 es un mecanismo que permite la utilización del canal seguro SSH para ejecutar aplicaciones gráficas.

El servidor SSH deberá tener activada la redirección del protocolo X, es decir, deberá tener el siguiente parámetro en el archivo de configuración /etc/ssh/sshd_config.

X11Forwarding yes

El cliente también tiene que tener activado el reenvío con la siguiente directiva en el archivo de configuración /etc/ssh/ssh_config.

ForwardX11 yes

Ahora podemos abrir una sesión remota con el cliente SSH y posteriormente invocar la ejecución de una aplicación gráfica como el editor de texto plano leafpad. Para abrir la sesión hay que emplear la opción –X como en el siguiente ejemplo.

ssh –X usuario@selipre

Ahora desde el terminal que ha abierto sesión remota invocamos la ejecución de leafpad. leafpad &

Debe de aparecer una ventana con la aplicación gráfica en ejecución. Esta aplicación se ejecuta en el servidor y en el cliente solamente se ven los resultados.

3.4 Copia remota de archivos

También se dispone del comando scp que permite copiar archivos desde y hacia el servidor

remoto desde el cliente. La sintaxis del comando es la siguiente

scp [opciones][[usuario@]host1:]fichero1... [[usuario@]host2:]fichero2

Si indicamos un nombre de archivo con usuario@host: delante, estamos indicando que el archivo se encuentra en el host remoto al que accederemos con el usuario indicado. Por tanto podemos hacer copia desde la máquina remota a la máquina local y viceversa.

Por ejemplo, si deseamos copiar el archivo /etc/hosts del servidor selipr, e identificándonos como usuario, en la carpeta actual del cliente, ejecutaremos el siguiente comando en el cliente:

scp usuario@selipr:/etc/hosts .

En el siguiente ejemplo copiamos el archivo local miarchivo.txt en la carpeta /home/usuario/pruebas del servidor selipr.

(39)

scp miarchivo.txt usuario@selipr:~/pruebas/

Podemos hacer copias recursivas de directorios completos con la opción –r como en el siguiente ejemplo

scp ­r datos/* usuario@selipr:~/pruebas/datos/

Copiamos el contenido del directorio datos al directorio /pruebas/datos del servidor selipr, abriendo sesión con el usuario usuario.

3.5 Servidor FTP seguro

El paquete SSH también incorpora un servidor FTP seguro y un cliente FTP seguro. Para activar el servidor ftp seguro tan solo hay que tener arrancado el servidor SSH. El cliente FTP seguro es el comando sftp que funciona igual que el comando ftp. También podemos utilizarlo desde un explorador de archivos escribiendo sftp://nombre­del­usuario@nombre­del­servidor.

También desde la línea de comando podemos abrir una sesión FTP segura con la siguiente sintaxis sftp [[usuario@]host[:fichero_remoto [fichero_local]]] sftp [[usuario@]host[:directorio[/]]] sftp ­b batchfile [usuario@]host Parámetros usuario

Usuario que realiza la conexión remota. Por defecto se utiliza el usuario que ha abierto la sesión en la máquina cliente.

host

Servidor SSH al que se hace la conexión

fichero_remoto

Fichero en el servidor que se copia en el cliente

fichero_local

Nombre de fichero que se asignará al fichero copiado del servidor que se ha copiado

directorio

Directorio al que se conecta al inicio de la conexión. Si se indica / se cambiará al directorio raíz del sistema de archivos. Si no se indica un directorio el servidor se sitúa en el directorio home del usuario.

­b bachfile

Fichero que contiene un conjunto de comandos FTP para ejecutar por lotes.

Si se emplea la primera o segunda forma del comando y no indicamos fichero a copiar o directorio en el que situarse entonces aparece el prompt sftp> para trabajar en modo interactivo con el servidor. Aquí se emplearán los mismos comandos utilizados en FTP1.

(40)
(41)

4. Bibliografía

FOROUZAN, B. A., Transmisión de Datos y redes de comunicaciones – 4ª Edición. 2007 McGraw-Hill, ISBN TECHNET, Windows Server 2012: Remote Desktop – Quick Start (parte 1), Notas sobre Windows Server

Octubre 2012 [acceso 11 julio 2013]. Disponible en

< http://windowserver.wordpress.com/2012/10/05/windows-server-2012-remote-desktop-quick-start-parte-1/>

BALDOMA, J. De, Autenticación mediante clave pública en SSH. [acceso 3 de agosto 2013]. Disponible en <http://www.jdbaldoma.net/2012/05/autenticacion-mediante-clave-publica-en.html>

Referencias

Documento similar

CUARTO.- De lo analizado en el considerando que antecede queda establecido que la Unidad de Información Pública Gubernamental y el Comité de Acceso a la Información

Applied to thyroid gland surgery these techniques are axillary or transaxillary thyroidectomy (usually gas-less, and instrumented with robotic or with conventional endoscopic

Al enviar la aplicación devuelve al aspirante a la pantalla de la solicitud, pero ya se ha habilitado la opción de “Continuar” sobre la que se debe hacer clic, para avanzar

EJEMPLO DE ACCESO A SERVICIOS DE UN SERVIDOR DE INTERNET (RedIris, Red Académica y de Investigación nacional). LA IP del servidor

Open Access Article. This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence... 2) and shown SERS and SEF for a representative case (Fig. 3),

Para poder hacer referencia al servidor desde el cliente, obtenemos una referencia al proxy del objeto remoto mediante una llamada al método GetObject() de la

La Revista Estudios es editada por la Universidad de Costa Rica y se distribuye bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 3.0 Costa Rica. Para

Todos los contenidos de la web han sido creados por la Asociación RetroAcción y están licenciados bajo la Creative Commons Reconocimiento 3.0 España License (excepto donde se indique