Story Transcript
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: