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
21-09-2017

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: 11-10-2017 de 17h a 19.30h (a la mateixa hora que corregirem el servidor DHCP).

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 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 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 (4a 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 (5a 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 (6a 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 (7a 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
    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) Permetre a l'usuari root validar-se directament via SSH.
    d) Permetre només la validació dins del servidor com usuari xxxyyy root.

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


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


8.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 dacomo 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.

8.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".

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

8.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 (8a PART - OPCIÓ 2): ACCÉS REMOT AMB GUI PER MITJÀ DE TEAMVIEVER

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

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

8.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- 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ó.

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

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