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
22-09-2016

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


CONDICIONS DEL TREBALL
1- El  dia 13-10-2016 comprovaré:

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-8.6.0-asix2-m06, d) Memòria assignada a la màquina virtual: 1GB, e) Disc dur: debian-8.6.0-asxi2-m06.vdi, 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 WiFi.
2- Posa en marxa la màquina virtual. Instal·la un sistema Debian 8.6.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.  

PRÀCTICA (2a PART): RECONFIGURA LA TARGETA DE XARXA

1- Comprova quin és le nom de la teva interfície de xarxa (hauria de ser en principi eth0). Deshabilita Network Manager de l'arrancada del sistema. Utilitza la documentació que trobaràs a: http://www.debuntu.org/how-to-managing-services-with-update-rc-d/. Ara només l'usuari root i des de l'entorn alfanumèric pot configurar les interfícies de xarxa.
2- Fes una còpa de seguretat del fitxer /etc/network/interfaces a /etc/network/interfaces.AAAAMMDDHHmm.Configura debian-8.6.0-asix2-m06 per iniciar-se sempre amb una adreça IP estàtica i sense posar en marxa el client DHCP. Utilitza la documentació que trobaràs a: http://www.servidordebian.org/en/wheezy/config/network/static_ip. La configuració de xarxa serà: 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. Comprova de manera  alfanumèrica la correcta configuració de la xarxa.
3- Fes que la màquina virtual treballi amb xarxa interna.
 
PRACTICA (3a 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 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 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ç d) de la secció Documentació). Troba el significat dels següents paràmetres de configuració:
    a) Port
    b) LoginGraceTime
    c) PermitRootLogin
    d) AllowUsers

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
    b) El servidor es desconnecti del client després de 50 segons si l'usuari no es valida amb exit.
    c) No permetre a l'usuari root validar-se directament via SSH.
    d) Només permetre la validació com usuari xxxyyy i només si es fa des de l'ordinador  192.168.1.3.

3- Comprova amb netstat que el servidor ssh està escoltant (LISTEN) 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 20 segons. Un cop passar aquest temps, intenta validar-te i comprova la resposta del servidor.

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

6- Canvia l'adreça IP del client Ubuntu. Fes que sigui 192.168.1.5. Intenta connectar-te al servidor debian. Comprova que passa.

PRACTICA (7a PART - OPCIÓ 1): ACCÉS REMOT AMB GUI PER MITJÀ DEL SERVIDOR VNC vino I EL CLIENT D'ESCRIPTORI REMOT remmina


7.1.-Instal·lació i configuració de de vino (VNC server for GNOME) per debian


1- Treballant amb debian, executa Synaptic i comprova si el servidor d'escriptori remot VNC vino ha estat instal·lat en el sistema. Si no està instal·lat, instal·la-ho des de Synaptic.
2- Treballant des de l'escriptori MATE, selecciona Aplicacions --> Eines de sistema --> Editor de dconf.
3- Dins de dconf, selecciona org --> gnome --> desktop --> remote-access --> authetication-methods. Fes que el seu valor sigui 'none'.
4- Executa des d'un terminal com usuari normal l'ordre /usr/lib/vino/vino-server &. Comprova que el servidor vino s'executa escoltant pel port 5900/tcp.
5- Comprova que pots atural servidor executant killall vino-server.

7.2.-Accés a debian des d'ubuntu per mitjà de remmina (remote desktop client GNOME)

1-
Treballant amb ubuntu, executa Synaptic i comprova si el client d'escriptori remot (per VNC i RDP)  remmina ha estat instal·lat en el sistema. Si no està instal·lat, instal·la-ho des de Synaptic.
2- Executa remmina. Selecciona la 2a icona ("Create a new remote desktop file").
3- Selecciona el protocol de comunicació
i configura l'accés a l'escriptori remot. En el nostre cas el protocol de comunicació és el VNC  en  mode  VNC - Virtual Networking Computing. Aquest és un exemple de configuració d'accés a l'escriptori remot de l'usuari dacomo del servidor 192.168.1.2:
















<========= IMPORTANT: L'USUARI dacomo ÉS EL MEU USUARI A LA MEVA MÀQUINA debian DES DEL QUAL HE EXECUTAT vino-server. HEU DE CANVIAR dacomo  PEL VOSTRE NOM D'USUARI A LA VOSTRA MÀQUINA DEBIAN

4- Comproveu que podeu controlar l'escriptori remot de l'usuari dacomo des de la vostra màquina ubuntu. Realitzeu les següents accions:
    a) Obre un terminal i fes un llistat dels fitxers del directori personal de l'usuari de debian.
    b) Executa LibreOffice Writer de l'usuari de debian.
    c) Accedeix al "Monitor de sistema" des d'Aplicacions --> "Eines del sistema".

7.3.- Transferència de fitxers per mitjà de remmina

1-
Treballant des d'ubuntu i amb remmina selecciona la 2a icona ("Create a new remote desktop file") i després selecciona el protocol SFTP ("Secure FTP").
2- Realiza una connexió al servidor 192.168.1.2 (recorda que SSH treballa amb el port 22 per defecte). L'usuari, és el nom d'usuari remot a debian.Selecciona Password com a mètode d'autenticació (també pots provar Public key si et funciona la part de la pràtica que treballa amb claus públiques).
3- Comprova que s'obre una finestra que mostra la carpeta personal de l'usuari remot a debian. Crea des de debian un  fitxer
en blanc de nom dades.txt. Tranfereix el fitxer a ubuntu.
NOTA: Per transferir fitxers, millor utiltzar un programa com gftp o Filezilla.

7.4.- Desconnexió de remmina i aturada de vino

1- Per desconnectar-nos de la màquina remota, des de remmina selecciona la màquina remota i prem la darrera icona (és una mena d'endoll) i es realizarà la desconnexió.
2- Per aturar el servidor vino, selecciona Aplicacions --> Eines de sistema --> Preferències --> Compartició de l'escriptori, i deshabilita l'opció "Permet que altres usuaris visualitzin el meu escriptori".


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

7.0.- 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.1.- Instal·lació i execució de TeamViewer per Debian Linux
1- Descarrega TeamViewer dins de la màquina debian des de www.teamviewer.com/es/download/linux.aspx. Descarrega la versió 32 bit /64 bit Multiarch.
2-
Instal·la el paquet .deb de TeamViewer amb l'ajut del programa GDebi. També caldrà instal·lar alguns paquets juntament amb TeamViewer. Executa com a root:
    dpkg --add-architecture i386
    apt-get update
    aptiude install libjpeg62:i386
    
gdebi teamviewer_11.0.57095_i386.deb (des del directori a on has desat el paquet .deb)
3- Ara trobaràs el programa
TeamViewer 11 anant al menú Aplicacions --> Internet

7.2.- 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- Descarrega TeamViewer dins de la màquina Ubuntu des de www.teamviewer.com/en/download/linux.aspx. Descarrega la versió 32 bit /64 bit Multiarch.
3- Instal·la el paquet .deb de TeamViewer amb l'ajut del programa GDebi. També caldrà instal·lar alguns paquets juntament amb TeamViewer. Executa com a root:
    dpkg --add-architecture i386    ###Només si treballes amb un ubuntu de 64 bits
    apt-get update
    aptiude install libjpeg62:i386  
###Si treballes amb un ubuntu de 32 bits només cal executar aptitude install libjpeg62
    gdebi teamviewer_11.0.57095_i386.deb (des del directori a on has desat el paquet .deb)

4- Ara, des del Taulell de l'escriptori d'Ubuntu, busca el programa TeamViewer 10 i executa-ho.Anota l'ID i el password que es mostrarà per pantalla. Deixa el programa en execució.

7.3- Controlant remotament l'ordinador Ubuntu des de Debian

1- Des de  debian, a la secció "Control Remote Computer" escriu l'ID i contrasenya donada pel programa TeamViewer 10 de l'Ubuntu. Selecciona l'opció "Remote control".
2- A la següent pantalla, escriu el password donat pel programa
TeamViewer 10  a la secció anterior.
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.4.- 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.