Acceso remoto a una máquina GNU/Linux (Ubuntu) · Sistema operativo GNU/Linux [Ávila,...

Post on 16-Mar-2020

18 views 0 download

Transcript of Acceso remoto a una máquina GNU/Linux (Ubuntu) · Sistema operativo GNU/Linux [Ávila,...

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

1

Acceso remoto a una máquina GNU/Linux (Ubuntu)

● Utilizando un cliente SSH

– login remoto (modo texto)

– copia remota (modo texto y modo gráfico)

● Escritorio remoto

– VNC

– VNC seguro

Internet

RemotoLocal

Cliente Servidor

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

2

Secure Shell (SSH)

● 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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

3

Secure Shell (SSH)

● Escenario– 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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

4

Secure Shell (SSH)

● Escenario:

Internet

usuario: angelmáquina: CASA

usuario: profesormáquina: DESPACHO

Remoto:GNU/LinuxLocal

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

5

Secure Shell (SSH)

● Preparación del servidor DESPACHO (i)

– Instalar el paquete ssh● Sistema > Administración > Gestor Synaptic > buscar ssh

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

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

● 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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

6

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

● Abrimos una sesión de terminal: Aplicaciones > Accesorios > Terminalprofesor@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”

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

7

Secure Shell (SSH)

● Preparación del servidor DESPACHO (y iii)

– 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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

8

Secure Shell (SSH)

● Ejemplos de conexión desde otro ordenador:

– 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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

9

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)

– 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

Internet

Cuenta: profesor en DESPACHO

angelen

CASA

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

10

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:22

2

3

1

Internet

Cuenta: profesor en DESPACHO

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

11

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:

2

1

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

12

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:

2

3

1

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

13

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:

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

14

Secure Shell (SSH). Login remoto

Ejemplo 2: acceso en modo texto a la cuenta de profesor en DESPACHO desde un equipo Windows

– 2.b) Con OpenSSH para Windows (instalar solo el cliente)● En Windows: Inicio > Programas > Accesorios > Símbolo del

sistema

2

1

Internet

Cuenta: profesor en DESPACHO

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

15

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)

– 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 100% 1202 0.9KB/s 00:00

sftp> quit

angel@casa:~$ _

Internet

Cuenta: profesor en DESPACHO

angelen

CASA

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

16

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)

– 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

angel@casa:~$ _

● De CASA a DESPACHO:angel@casa:~$ scp imagen.png profesor@despacho:imagen.png

profesor@despacho's password: *******

imagen.png 100% 1202 0.9KB/s 00:00

angel@casa:~$ _

Internet

Cuenta: profesor en DESPACHO

angelen

CASA

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

17

Secure Shell (SSH). Copia remota de ficherosEjemplo 3: acceso para copiar ficheros a la cuenta de

profesor en DESPACHO desde un equipo GNU/Linux (angel en CASA)

– 3.c) navegador Nautilus: Lugares > Carpeta personal2

1

3

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

18

Secure Shell (SSH). Copia remota de ficherosEjemplo 3: acceso para copiar ficheros a la cuenta de

profesor en DESPACHO desde un equipo GNU/Linux (angel en CASA)

– 3.c) navegador Nautilus: Lugares > Carpeta personal

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

19

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)

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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

20

Secure Shell (SSH). Copia remota de ficherosEjemplo 3: acceso para copiar ficheros a la cuenta de

profesor en DESPACHO desde un equipo GNU/Linux (angel en CASA)

– 3.c) Automatización: Lugares > DESPACHO

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

21

Secure Shell (SSH). Copia remota de ficheros

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

– Utilizaremos el programa WinSCP:

2

1

3

Internet

Cuenta: profesor en DESPACHO

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

22

Secure Shell (SSH). Copia remota de ficheros

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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

23

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:

1

5

2

3

4

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

24

VNC (Virtual Network Computing)

● Se trata de un mecanismo de escritorio remoto

● RDP vs VNC

– 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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

25

Escritorio remoto con VNC

● Escenario:

Internet

usuario: angelmáquina: CASA

usuario: profesormáquina: DESPACHO

Remoto:GNU/LinuxLocal

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

26

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 > 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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

27

VNC. Configuración del servidor VNC

● Preparación del servidor DESPACHO (ii)

– 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:

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

28

VNC. Configuración del servidor VNC

● Preparación del servidor DESPACHO (y iii)

– Configuraciones:

1.Acceso desdeCASA paraadministrar elsistema:

2.Acceso simultáneoen un aulapara realizaruna presentación

Esto sería opcional

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

29

VNC. Acceso desde otro ordenadorEjemplo 6: acceso al escritorio de Ubuntu desde otro equipo

Ubuntu (por ejemplo, en CASA)

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

1

2

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

Internet

Cuenta: profesor en DESPACHO

angelen

CASA

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

30

VNC. Acceso desde otro ordenador

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

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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

31

VNC. Acceso desde otro ordenador

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

– Varios programas:● TightVNC (versión de solo cliente – muy versátil)● RealVNC (versión de solo cliente – maneja bien los acentos)

Internet

Cuenta: profesor en DESPACHO

12

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

32

VNC. Acceso no seguro desde otro ordenador

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

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

33

VNC. Problemas y soluciones

● El problema de VNC:

– solamente es seguro en la fase de autenticación inicial

● Solución:

– Utilizar SSH en modo tunelling para realizar VNC:

CASAPuertos: SSH: 22 VNC: 5900

Internet

Túnel cifrado SSH

Objetivo: Redirigir el puerto destino 5900 (VNC) a un puerto local (p.e. el 5901), demodo que si nos conectamos al puerto local 5901 con otra aplicación, SSHhace que las peticiones se transmitan al puerto 5900 remoto.

Consecuencia: tendremos que conectarnos a “localhost:1” para hacer VNC

SSH (22)

5901(localhost VNC:1)

5900 (VNC)

DESPACHO

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

34

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:● 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.

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

35

VNC. Acceso seguro desde otro ordenador

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

● 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)

Sis

tem

a oper

ativ

o G

NU

/Lin

ux

[Ávi

la, en

ero-f

ebre

ro,

2008]

Auto

r: Á

ngel

F. Zaz

o <

zazo

@usa

l.es

>

36

VNC. Acceso seguro desde otro ordenador

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

– ConexiónSSH:

– ConexiónVNC: