Linux (Ubuntu)

Acceso remoto a una máquina GNU/Linux (Ubuntu) Remoto Local Internet Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo ...
8 downloads 1 Views 2MB Size
Acceso remoto a una máquina GNU/Linux (Ubuntu) Remoto

Local

Internet

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

Cliente

1





Utilizando un cliente SSH –

login remoto (modo texto)



copia remota (modo texto y modo gráfico)

Escritorio remoto –

VNC



VNC seguro

Servidor

Secure Shell (SSH) ●

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



2



SSH: protocolo que permite el intercambio seguro de información en redes no seguras Utiliza sistemas de criptografía asimétrica –

clave privada



clave pública

Usos: –

login remoto



tunneling: encapsular servicios bajo conexiones seguras ●

Secure FTP (SFTP)



Secure Copy (SCP)



VNC / X11

Secure Shell (SSH) ●

Escenario –

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



3

Ordenador con Ubuntu, de nombre DESPACHO, en el que el usuario profesor tiene una cuenta Ejemplos de conexión desde otro ordenador: 1. Se quiere acceder en modo texto a la cuenta de profesor en DESPACHO para ejecutar comandos (por ejemplo, para labores administrativas) 2. Se quiere acceder a la cuenta de profesor en DESPACHO para copiar ficheros, en modo texto y en modo gráfico



Se necesita: – –

el programa servidor en la máquina remota DESPACHO programas clientes en la máquina local: ●

Windows: no importa el usuario



Linux: suponemos usuario angel en la máquina CASA

Secure Shell (SSH) ●

Escenario: Remoto: GNU/Linux

Local

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

Internet

4

usuario: profesor máquina: DESPACHO usuario: angel máquina: CASA

Secure Shell (SSH) ●

Preparación del servidor DESPACHO (i) –

Instalar el paquete ssh ●

Sistema > Administración > Gestor Synaptic > buscar ssh –

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



5



Una vez instalado, comprobar que el servicio está ejecutándose ●



Instala openssh-server Si es necesario, actualiza openssh-client

Sistema > Administración > Servicios

Ver el puerto de comunicaciones para SSH: 22 ●

Sistema > Administración > Herramientas de red > Ficha “Análisis de puertos”, introducir “localhost” y

Secure Shell (SSH) ●

Preparación del servidor DESPACHO (ii) –

Verificar la clave pública generada al instalar el paquete ssh. Para ello es preciso ver la “huella” de esa clave

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



6

Abrimos una sesión de terminal: Aplicaciones > Accesorios > Terminal profesor@despacho:~$ cd /etc/ssh profesor@despacho:/etc/ssh$ ssh-keygen -l -f ssh_host_rsa_key.pub 2048 b7:c1:29:a4:c1:04:bf:7b:a7:3e:0a:7c:3e:25:19:58 ssh_host_rsa_key.pub

Esta es la huella de la clave pública. Nos la presentará el servidor la primera ver que nos conectemos utilizando SSH. Si no coincide, hay un ataque del tipo “man in the middle”

Secure Shell (SSH) ●

Preparación del servidor DESPACHO (y iii)

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



7



Es muy importante conocer cuál es la configuración del idioma local (locale) de la máquina DESPACHO: ●

Idioma (español)



Codificación (ISO-8859-1, UTF-8, etc.)

Abrimos una sesión de terminal: Aplicaciones > Accesorios > Terminal profesor@despacho:~$ locale LANG=es_ES.UTF-8 LC_CTYPE=”es_ES.UTF-8” LC_NUMERIC=””es_ES.UTF-8” ...

Con esto habríamos terminado de configura el servidor DESPACHO

Secure Shell (SSH) ●

Ejemplos de conexión desde otro ordenador:

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



8



Ejecutar comandos: se quiere acceder en modo texto a la cuenta de profesor en DESPACHO para ejecutar comandos (labores administrativas) ●

Desde GNU/Linux: cliente ssh



Desde Windows: programas PuTTY y openSSH

Copiar ficheros: se quiere acceder a la cuenta de profesor para copiar ficheros, en modo texto y en modo gráfico ●

Desde GNU/Linux: cliente sftp / scp / nautilus



Desde Windows: programa WinSCP

Secure Shell (SSH). Login remoto Ejemplo 1: acceso en modo texto a la cuenta de profesor en DESPACHO desde otro equipo GNU/Linux (suponemos el usuario angel en el ordenador CASA)

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

angel en CASA

9



Internet

Cuenta: profesor en DESPACHO

Utilizaremos el comando ssh (es en realidad un cliente): angel@casa:~$ ssh profesor@despacho The authenticity of host 'despacho' can't be established. RSA key fingerprint is b7:c1:29:a4:c1:04:bf:7b:a7:3e:0a:7c:3e:25:19:58 Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'despacho' (RSA) to the list of known hosts. profesor@despacho's password: ******* profesor@despacho:~$ export LANG=”es_ES.UTF-8” profesor@despacho:~$ ññññ_



Nota: la clave pública de DESPACHO se almacena en el directorio personal de angel (en CASA) para el futuro: ~/.ssh/known_host

Secure Shell (SSH). Login remoto Ejemplo 2: acceso en modo texto a la cuenta de profesor en DESPACHO desde un equipo Windows Internet

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



10

Cuenta: profesor en DESPACHO

2.a) Con el famoso programa PuTTY: 2

1 3 2

Secure Shell (SSH). Login remoto Ejemplo 2: acceso en modo texto a la cuenta de profesor en DESPACHO desde un equipo Windows

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



11

1

2

2.a) Con el famoso programa PuTTY:

Secure Shell (SSH). Login remoto Ejemplo 2: acceso en modo texto a la cuenta de profesor en DESPACHO desde un equipo Windows –

2.a) Con el famoso programa PuTTY:

1

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

2

12

3

Secure Shell (SSH). Login remoto Ejemplo 2: acceso en modo texto a la cuenta de profesor en DESPACHO desde un equipo Windows

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



13

2.a) Con el famoso programa PuTTY:

Secure Shell (SSH). Login remoto Ejemplo 2: acceso en modo texto a la cuenta de profesor en DESPACHO desde un equipo Windows Internet

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



14

Cuenta: profesor en DESPACHO

2.b) Con OpenSSH para Windows (instalar solo el cliente) ●

En Windows: Inicio > Programas > Accesorios > Símbolo del sistema 1 2

Secure Shell (SSH). Copia remota de ficheros Ejemplo 3: acceso para copiar ficheros a la cuenta de profesor en DESPACHO desde un equipo GNU/Linux (angel en CASA)

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

angel en CASA

15



Cuenta: profesor en DESPACHO

Internet

3.a) sftp: angel@casa:~$ sftp profesor@despacho Connecting to despacho... profesor@despacho's password: ******* sftp> cd Documentos sftp> get fichero.txt Fetching /home/profesor/Documentos/fichero.txt to fichero.txt /home/profesor/Documentos/fichero.txt

100%

875

0.9KB/s

00:00

sftp> put casa.txt Uploading casa.txt to /home/profesor/Documentos/casa.txt casa.txt sftp> quit angel@casa:~$ _

100% 1202

0.9KB/s

00:00

Secure Shell (SSH). Copia remota de ficheros Ejemplo 3: acceso para copiar ficheros a la cuenta de profesor en DESPACHO desde un equipo GNU/Linux (angel en CASA)

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

angel en CASA

16



Cuenta: profesor en DESPACHO

Internet

3.b) scp: ●

De DESPACHO a CASA: angel@casa:~$ scp profesor@despacho:fichero.txt fichero.txt profesor@despacho's password: ******* fichero.txt

100%

875

0.9KB/s

00:00

0.9KB/s

00:00

angel@casa:~$ _ ●

De CASA a DESPACHO: angel@casa:~$ scp imagen.png profesor@despacho:imagen.png profesor@despacho's password: ******* imagen.png angel@casa:~$ _

100% 1202

Secure Shell (SSH). Copia remota de ficheros Ejemplo 3: acceso para copiar ficheros a la cuenta de profesor en DESPACHO desde un equipo GNU/Linux (angel en CASA)

1

2



3.c) navegador Nautilus: Lugares > Carpeta personal

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

3

17

Secure Shell (SSH). Copia remota de ficheros Ejemplo 3: acceso para copiar ficheros a la cuenta de profesor en DESPACHO desde un equipo GNU/Linux (angel en CASA)

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



18

3.c) navegador Nautilus: Lugares > Carpeta personal

Secure Shell (SSH). Copia remota de ficheros Ejemplo 3: acceso para copiar ficheros a la cuenta de profesor en DESPACHO desde un equipo GNU/Linux (angel en CASA)

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



19

3.c) Automatización: Lugares > Conectar con el servidor...

Secure Shell (SSH). Copia remota de ficheros Ejemplo 3: acceso para copiar ficheros a la cuenta de profesor en DESPACHO desde un equipo GNU/Linux (angel en CASA)

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



20

3.c) Automatización: Lugares > DESPACHO

Secure Shell (SSH). Copia remota de ficheros Ejemplo 4: acceso para copiar ficheros a la cuenta de profesor en DESPACHO desde un equipo Windows Internet

1

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



21

2

Utilizaremos el programa WinSCP:

3

Cuenta: profesor en DESPACHO

Secure Shell (SSH). Copia remota de ficheros

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

Ejemplo 4: acceso para copiar ficheros a la cuenta de profesor en DESPACHO desde un equipo Windows

22

Secure Shell (SSH). Copia remota de ficheros Ejemplo 5: acceso para copiar ficheros a la cuenta de profesor en DESPACHO desde un equipo Windows Utilizaremos el programa Filezilla:

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



23

1 2 3

4

5

VNC (Virtual Network Computing) ●

Se trata de un mecanismo de escritorio remoto



RDP vs VNC

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



24



RDP (Remote Desktop Protocol) ●

Es un protocolo propietario de Windows



Hay iniciativas libres, como xrdp

VNC ●

Es un programa de software libre que permite el acceso al escritorio de una máquina desde otra



Pero tiene un problema: no es seguro



Hay diferentes versiones: – –

la que solamente exporta la sesión actual: Vino de Gnome la que permite lanzar varias sesiones

Escritorio remoto con VNC ●

Escenario: Remoto: GNU/Linux

Local

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

Internet

25

usuario: profesor máquina: DESPACHO usuario: angel máquina: CASA

VNC. Configuración del servidor VNC ●

Preparación del servidor DESPACHO (i) –

Por defecto en Ubuntu existe el paquete Vino, que es un servidor VNC integrado en Gnome

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



26

Sistema > Preferencias > Escritorio remoto

Marcar para permitir escritorio remoto Si está marcada, se podrá controlar la sesión remotamente Marcar para pedir confirmación antes de permitir el acceso. Obliga a estar en la máquina Un nivel de seguridad mayor

VNC. Configuración del servidor VNC ●

Preparación del servidor DESPACHO (ii)

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



27

Si está marcada la opción “Pedir confirmación”, cuando un usuario externo (en el ejemplo desde el ordenador de nombre “CASA”) se quiera conectar al ordenador DESPACHO se mostrará la siguiente ventana:

VNC. Configuración del servidor VNC ●

Preparación del servidor DESPACHO (y iii)

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



28

Configuraciones: 1.Acceso desde CASA para administrar el sistema:

2.Acceso simultáneo en un aula para realizar una presentación Esto sería opcional

VNC. Acceso desde otro ordenador Ejemplo 6: acceso al escritorio de Ubuntu desde otro equipo Ubuntu (por ejemplo, en CASA) angel en CASA

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



29

1

Internet

Cuenta: profesor en DESPACHO

En CASA: Aplicaciones > Internet > Cliente de Terminal Server > Seleccionar VNC 2

3 Se pedirá contraseña si el ordenador DESPACHO se configuró así

VNC. Acceso desde otro ordenador

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

Ejemplo 6: acceso al escritorio de Ubuntu desde otro equipo Ubuntu (por ejemplo, en CASA)

30

4 Si todo va bien, se tendrá una ventana en CASA con el escritorio de DESPACHO

VNC. Acceso desde otro ordenador Ejemplo 7: acceso al escritorio de Ubuntu desde un equipo Windows Internet

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



31

1

Cuenta: profesor en DESPACHO

Varios programas: ●

TightVNC (versión de solo cliente – muy versátil)



RealVNC (versión de solo cliente – maneja bien los acentos)

2

VNC. Acceso no seguro desde otro ordenador

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

Ejemplo 7: acceso al escritorio de Ubuntu desde un equipo Windows

32

VNC. Problemas y soluciones ●

El problema de VNC: –



Solución:

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



33

solamente es seguro en la fase de autenticación inicial Utilizar SSH en modo tunelling para realizar VNC:

Objetivo: Redirigir el puerto destino 5900 (VNC) a un puerto local (p.e. el 5901), de modo que si nos conectamos al puerto local 5901 con otra aplicación, SSH hace que las peticiones se transmitan al puerto 5900 remoto. Consecuencia: tendremos que conectarnos a “localhost:1” para hacer VNC DESPACHO

CASA

Internet SSH (22) Túnel cifrado SSH

5901 (localhost VNC:1)

5900 (VNC)

Puertos: SSH: 22 VNC: 5900

VNC. Acceso seguro desde otro ordenador ●

Acceso al escritorio de Ubuntu en DESPACHO desde otro equipo (CASA) en modo seguro –

Debemos hacer el túnel desde CASA:

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



34



la escucha del servidor VNC en DESPACHO se realiza en el puerto 5900 (es la ventana virtual 0, VNC:0). La idea es “redirigir” el puerto 5900 de DESPACHO al puerto 5901 del ordenador “localhost” (5901 es VNC:1): –





ssh -L 5901:localhost:5900 profesor@despacho

Esto nos abrirá una sesión SSH para introducir la contraseña de profesor en despacho. Se la damos y la sesión SSH permanecerá abierta; podremos utilizarla igual que sin túnel. Ahora simplemente con un cliente VNC realizamos una conexión al ordenador “localhost:1” en vez de a DESPACHO.

VNC. Acceso seguro desde otro ordenador Ejemplo 8: acceso al escritorio de Ubuntu desde un equipo Windows de nombre CASA en modo seguro

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo



35



Abrir una sesión utilizando OpenSSH (transparencia 14), y ejecutar SSH para realizar el túnel: –

ssh -L 5901:localhost:5900 profesor@despacho



Pedirá usuario y contraseña de profesor en DESPACHO, y ya tendremos una sesión SSH típica (en esa sesión podremos ejecutar comandos sin problemas)

Ahora en Windows ya podremos abrir un cliente VNC para conectarnos a través del túnel SSH. – –



En la transparencia siguiente hemos elegido RealVNC En vez de conectarnos a DESPACHO, nos conectaremos a “localhost:1”

Nota: hay dos conexiones (la sesión SSH y la sesión VNC)

VNC. Acceso seguro desde otro ordenador

Sistema operativo GNU/Linux [Ávila, enero-febrero, 2008] Autor: Ángel F. Zazo

Ejemplo 8: acceso al escritorio de Ubuntu desde un equipo Windows de nombre CASA en modo seguro

36



Conexión SSH:



Conexión VNC: