Post on 16-Mar-2020
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: