M06-Administració de Sistemes Operatius
UF1-Administració avançada de sistemes operatius ASIX2
Pràctica 1: Instal·lació, configuració i us de serveis d'accés i administració remota en S.O. lliures
18-09-2018

INSTAL·LACIÓ, CONFIGURACIÓ I US DE SERVEIS D'ACCÉS I CONFIGURACIÓ REMOTA EN S.O. LLIURES


CONDICIONS DEL TREBALL
1- Comprovació de la pràctica:
     a) Part 1 a Part 4: 25-09-2018 de 15h a 17h
     b) Part 5 a 7: 2-10-18 de 15h a 17h
    
c)
Part 8 a 9: 9-10-18 de 15h a 17h

DOCUMENTACIÓ
a) Documentació  de Sergi Tur
b) Documentació de l'IOC
c) Documentació sobre TeamViewer
d) Documentació sobre Criptografia de clau pública
e) Documentació sobre ssh-agent i ssh-add
f) Documentació sobre ssh-keygen
g) Documentació sobre sshd_config

PRÀCTICA (1a PART): INSTAL·LACIÓ DEL SISTEMA
1-  Amb VirtualBox crea una màquina virutal amb les següents característiques:  a) Tipus de sistema operatiu: Linuxb) Versió: Debian, c) Nom: debian-9.5.0-asix2-m06, d) Memòria assignada a la màquina virtual: 1GB, e) Disc dur: debian-9.5.0-asxi2-m06.vdi de 8GB, f) Habilita PAE/NX a les característiques del processador, g) Fes el disc dur el primer dispositiu d'arrancada, h) Treballa amb l'opció de  "Adaptador Pont" associat a la  targeta de xarxa Ethernet.
2- Posa en marxa la màquina virtual. Instal·la un sistema Debian 9.5.0 amb les següents caracterísitiques:
   
a) Nom de l'equip: xxxyyy-m06 (xxx=tres primeres lletres del teu nom, yyy=tres primeres lletres del teu primer cognom).
    
b) Domini: fjeclot.net
   
c) Usuari root amb contrasenya fjeclot
    d) Usuari per defecte: xxxyyy  (xxx=tres primeres lletres del teu nom, yyy=tres primeres lletres del teu primer cognom) amb contrasenya clotfje
   
e) Configuració de xarxa: Dinàmica (via DHCP)
    f) Dins de les opcions d'instal·lació de programari, instal·la:  Debian desktop environment, GNOME, MATE, web server, print server i Utilitats estàndard del sistema.
3- Un cop l'equip estigui en funcionament, instal·la el paquet openssh-server que és una implementació d'un servidor SSH (secure shell) d'acord amb les especificacions del document RFC de la IETF.
4-
Canvia el servidor Debian a l'opció xarxa interna.
5- Des de Network-manager escriu la següent configuració de xarxa:
a) Adreça IP 192.168.1.2, b) Màscara 255.255.255.0, c) Router  192.168.1.1, d) Servidors DNS  80.58.0.33 i 80.58.32.97 i e) Domini de recerca: fjeclot.net. 
 
PRACTICA (2a PART): CONTROL DEL SERVIDOR SSH DEL PAQUET openssh

1-
Comprova amb l'ordre netstat que el servidor està executant-se, per quin número de port escolta  i quina és la ID del procés associat al servidor. Indica sobre quin tipus de port (TCP o UDP) funciona el servidor ssh.
2- Comprova l'estat del servidor ssh amb l'ordre service. Comprova el nom del programa servidor ssh.
3- Atura el servidor ssh amb l'ordre service. Comprova l'estat del servidor. Comprova també amb netstat que no està en funcionament.
4- Torna a executar el servidor ssh amb l'ordre service. Comprova l'estat del servidor. Comprova també amb netstat que no està en funcionament i si el número de port i el PID han canviat o no.

PRACTICA (3a PART): ACCÉS REMOT DES D'UBUNTU AMB UN CLIENT SSH AL SERVIDOR SSH SOBRE DEBIAN
1- Instal·la  des d'Ubuntu
el paquet openssh-client que és una implementació d'un client SSH  d'acord amb les especificacions del document RFC de la IETF.  Comprova que el paquet ha estat instal·lat.
2- Ara canvia el client Ubuntu a
l'opció de  "xarxa interna". Des de Network-manager escriu la següent configuració de xarxa: a) Adreça IP 192.168.1.3, b) Màscara 255.255.255.0, c) Router  192.168.1.1, d) Servidors DNS  80.58.0.33 i 80.58.32.97 i e) Domini de recerca: fjeclot.net.
3- Comprova que els 2 equips (Debian i Ubuntu)  poden fer-se pings entre ells.
 
4- Accedeix via terminal al servidor ssh del debian des del client ssh d'ubuntu. Utilitza la notació: ssh  -l  nom_usuari  adreça_ip per connectar-t'hi. Si és el primer cop que et connectes respon yes a la pregunta que et fa el sistema.
5- Desconnectat del servidor amb l'ordre exit.
6- Accedeix via terminal al servidor ssh del debian des del client ssh d'ubuntu. Utilitza la notació: ssh  nom_usuari@adreça_ip per connectar-t'hi. Si és el primer cop que et connectes respon yes a la pregunta que et fa el sistema.
7- Des del servidor debian comprova l'estat de les connexions.  És important coneixer el significat i la informació que donen les columnes "Proto", "Local Address", "Foreign Addres", "State" i "PID/Program name". 
8- Comprova quantes vegades  s'està executant el programa sshd.
9- Des d'ubuntu comprova l'estat de les connexions. Troba les principals diferències amb la resposta donada pel sistema a l'apartat 4.
10- Desconnectat del servidor amb l'ordre logout.
11- Des de debian comprova ara l'estat de les connexions i comprova quantes vegades s'està executant el programa sshd.

PRACTICA (4a PART): ACCÉS REMOT DES DE WINDOWS AMB EL CLIENT SSH putty AL SERVIDOR SSH SOBRE DEBIAN
1- Instal·la el program putty en Windows XP/7/8
.
2- Ara canvia el client Windows XP/7/8 a l'opció de  "xarxa interna". Després escriu la següent configuració de xarxa: a) Adreça IP 192.168.1.4, b) Màscara 255.255.255.0, c) Router  192.168.1.1, d) Servidors DNS  80.58.0.33 i 80.58.32.97 i e) Domini de recerca: fjeclot.net 
2- Accedeix via terminal al servidor ssh del debian des del client ssh de Windows:








2- Des del servidor debian comprova ara l'estat de les connexions i comprova quantes vegades s'està executant el programa sshd.
3- Des de Windows comprova ara l'estat de les connexions.
4- Desconnectat del servidor amb l'ordre exit o logout.

PRACTICA (5a PART): ACCÉS AUTOMÀTIC AMB CLAUS D'ACCÉS PÚBLIQUES


1- Arrenca una màquina debian i una màquina Ubuntu treballant en xarxa interna. Configura la màquina Ubuntu amb l'adreça IP estàtica 192.168.1. 3 i màscara 255.255.255.0, adreça IP del router 192.168.1.1
servidors DNS  80.58.0.33 i 80.58.32.97 i domini de recerca: fjeclot.net. Comprova que pots fer pings entre les dues màquines virtuals.

2- Crea un usuari de nom inf1 a la teva màquina Ubuntu. Genera una clau pública per l'usuari inf1 a la màquina Ubuntu. Executa:

ssh-keygen  -t  rsa

    2.1- A la pregunta "Enter file in which to save the key (/home/inf1/.ssh/id_rsa): "  deixa l'opció per defecte (prem Enter directament).
    2.2- A la pregunta "Enter passphrase (empty for no passphrase): " deixa l'opció per defecte (prem Enter directament).
    2.3- A la pregunta "Enter same passphrase again: "  prem Enter directament.

i ara comprova que s'han creats els fitxers id_rsa i id_rsa_pub al directori ~/.ssh. Després executa l'ordre:

ssh-add

NOTA 1: A l'enllaç https://kb.iu.edu/d/aeww trobareu informació sobre ssh-add i ssh-agent que ajuda a entendre el motiu pel qual s'ha d'executar aquesta ordre.
NOTA 2: Amb l'ordre ssh-add -l pots comprovar si la clau s'ha afegit a la llista de claus gestionades per ssh-agent

3- Genera una clau pública per l'usuari xxxyyy a la màquina debian. Executa:

ssh-keygen  -t  rsa


    2.1- A la pregunta "Enter file in which to save the key (/home/xxxyyy/.ssh/id_rsa): "  deixa l'opció per defecte (prem Enter directament).
    2.2- A la pregunta "Enter passphrase (empty for no passphrase): " deixa l'opció per defecte (prem Enter directament).
    2.3- A la pregunta "Enter same passphrase again: "  prem Enter directament.

i ara comprova que s'han creats els fitxers id_rsa i id_rsa_pub al directori ~/.ssh. Després executa l'ordre:

ssh-add
 
4-
Des de l'ordinador Ubuntu entra al directori ~/.ssh de l'usuari inf1 i des de dins executa:

scp   id_rsa.pub   xxxyyy@192.168.1.2:~/.ssh/authorized_keys2

i comprova que el fitxer id_rsa.pub de de l'usuari inf1 de l'ordinador Ubuntu es copia dins del directori .ssh de l'usuari xxxyyy de l'ordinador debian amb el nom authorized_keys2.

5-
Ara, des de l'ordinador Ubuntu (el client) estableix una comunicació amb l'ordinador debian (el servidor) executant:

ssh  -l xxxyyy 192.168.1.2

o també

ssh xxxyyy@192.168.1.2

i comprova que pots connectar-te sense haver d'escriure la contrasenya de l'usuari xxxyyy a la màquina servidora. La connexió pot trigar entre 20 i 30 segons.

6-
Com usuari root fes una còpia de seguretat del fitxer /etc/hosts de l'ordinador Ubuntu. Obre el fitxer com usuari root i afegeix l'entrada:

192.168.1.2      xxxyyy-m06.fjeclot.net     xxxyyy-m06

al final del fitxer. Ara prova de fer un ping a xxxyyy-m06 i comprova que hi ha connectivat.

7- Intenta connectar-te ara al servidor SSH amb l'ordre:
ssh  -l xxxyyy xxxyyy-m06

o també

ssh xxxyyy@xxxyyy-m06

Contesta "yes"  a la primera pregunta (això només passarà una vegada) i comprova que no et demana password.

8- Esborra authorized_key2 (fes abans una còpia de seguretat) del directori ~/.ssh de l'usuari xxxyyy del servidor debian. Intenta connectar-te ara al servidor des del client Ubuntu com ho has fet a l'apartat anterior. Comprova que el servidor et torna a demanar el password.


PRACTICA (6a PART): CONFIGURACIÓ DEL SERVIDOR SSH

1- L'arxiu de configuració del servidor SSH és /etc/ssh/sshd_config (veure documentació sobre aquest fitxer a l'enllaç g) de la secció Documentació). Troba el significat dels següents paràmetres de configuració:
    a) Port i ListenAddres
    b) LoginGraceTime
    c) PermitRootLogin
    d) AllowUsers
    e) MaxAuthTries (Compte!!!! -->  cal tenir en compte  el paràmetre NumberOfPasswordPrompts de la configuració del client ssh)    

2- A partir de la informació recollida a l'apartat anterior reconfigura el servidor ssh de la màquina debian de manera que:
    a) El servidor escolti pel port 2222 i l'adreça IP 192.168.1.2.
    b) El servidor es desconnecti del client després de 300 segons si l'usuari no es valida amb exit.
    c) Permetre a l'usuari root validar-se directament via SSH.
    d) Permetre només la validació dins del servidor com usuari xxxyyy root.
    e) Màxim nombre d'intents de connexió abans que el servidor tanqui la connexió igual a 5.   

3- Comprova amb netstat que el servidor ssh està escoltant (LISTEN) per l'adreça IP 192.168.1.2 i pel port 2222. Connectat al servidor des del client Ubuntu amb l'ordre: ssh  -l  xxxyyy  192.168.1.2  -p  2222.

4- Desconnectat del servidor des del client. Torna a realitzar una connexió i no et validis durant 1 minut (més de 50 segons). Un cop passar aquest temps, intenta validar-te i comprova la resposta del servidor.

5- Comprova que com usuari root pots accedir via ssh des del client Ubuntu al servidor debian.

6- Crea des Debian un usuari de nom asix2 i comprova que no pots accedir al servidor ssh amb aquest usuari.


7- Comprova que pots realitzat un màxim de 5 intents de connexió abans de que el servidor tanqui la connexió.

PRACTICA (7a PART): ACCÉS REMOT AMB GUI PER MITJÀ DE TEAMVIEVER

7.1.- Previament
S'ha de tornar a posar el servidor Debian i Ubuntu treballant amb adaptador pont i configuració automàtica DHCP per poder tenir connexió a internet i poder descarregar el software que es demana als apartats 7.1 i 7.2.

7.2.- Instal·lació i execució de TeamViewer per Debian Linux
1- Instal·la gdebi (eina per instal·lar paquets .deb no obtinguts desd 'un dipòsit).
2- Descarrega la modalitat de 64 bits de la versió 13.2 de TeamViewer  dins de la màquina debian executant: wget  https://download.teamviewer.com/download/linux/teamviewer_amd64.deb.
3- Instal·la el paquet .deb de TeamViewer. Executa: sudo gdebi teamviewer_amd64.deb.

4-
Ara trobaràs el programa
TeamViewer 13 anant al menú Aplicacions --> Internet. Executa-ho.

7.3.- Instal·lació i execució de TeamViewer per Ubuntu Linux
1- Comprova l'adreça IP del teu client Ubuntu Linux. Comprova que pots fer ping amb debian. Comprova ara el ping en sentit contrari.
2- Instal·la gdebi.
3- Descarrega la modalitat de 64 bits de la versió 13.2 de TeamViewer  dins de la màquina debian executant: wget  https://download.teamviewer.com/download/linux/teamviewer_amd64.deb.
4- Instal·la el paquet .deb de TeamViewer. Executa: sudo gdebi teamviewer_amd64.deb.
5- Ara, des del Taulell de l'escriptori d'Ubuntu, busca el programa TeamViewer 13 i executa-ho.Anota l'ID i el password que es mostrarà per pantalla. Deixa el programa en execució.

7.4- Controlant remotament l'ordinador Ubuntu des de Debian

1- Des de TeamViewer de  Debian, a la secció "Control Remote Computer" escriu l'ID donada pel programa TeamViewer de l'Ubuntu. Selecciona l'opció "Remote control" i després selecciona "CONNECT".
2- A la següent pantalla, escriu la contrasenya donada pel programa
TeamViewer   d'Ubuntu i fes clic a "Log on".
3- Comprova que pots controlar de manera remota l'ordinador Ubuntu des de Debian.
4- Obre un terminal de la màquina remota Ubuntu des de debian. Canvia a usuari root. Instal·la el paquet geany. Comprova que el programa geany està funcionant a la màquina Ubuntu.
5- Tanca la connexió entre els dos ordinadors.

7.5.- Transferència d'arixus
1- Des de 
Debian, fes una captura de pantalla de tot l'escriptori i desa-la amb el nom desktop.png.
2- Amb l'ajut del manual de TeamViewer que trobaràs a l'apartat b) de la secció de Documentació, transfereix el fitxer desktop.png des de debian a l'escriptoi d'Ubuntu.

3- Tanca la connexió de transferència de fitxers.

7.6- Chat
1- Des de  Debian obre un chat amb Ubuntu i escriu un missatge de salutació.
2- Des de  Ubuntu escriu un missatge de  resposta a Debian.
3- Des de Debian, tanca la sessió de chat, la connexió amb Ubuntu i surt de TeamViewer correctament.
4- Des d'Ubuntu i surt de TeamViewer correctament.

PRACTICA (8a PART): MUNTANT SISTEMES DE FITXERS REMOTS SOBRE SSH UTILITZANT SSHFS

PRACTICA (9a PART): TUNEL SSH INVERS