Balubeto

Iscritto il 24 mag 2006
Mia prresentazione
mNessun oggetto della modifica
(Mia prresentazione)
Riga 1: Riga 1:
=Introduzione=
Questa guida tratta la configurazione delle modalit� di sospensione ed ibernazione del nostro sistema operativo in esecuzione su laptop e notebook di recente generazione.
Quando ci si deve connettere molto spesso ad un server (o a molti server) tramite '''[[SSH]]''', pu� essere tedioso dover inserire ogni volta la password...


Un modo sicuro per ''aggirare'' questo problema � basato sull'autenticazione tramite una coppia di chiavi (privata e pubblica).
=Prerequisiti=
I prerequisiti per poter abilitare la sospensione e l' ibernazione del nostro portatile sono semplici:
* i sorgenti di un kernel recente e la capacit� compilarlo;
* alcuni programmi utili
* spazio sufficiente su disco


Il concetto alla base di questo sistema di autenticazione � semplice: si demanda il compito di verificare i dati di autenticazione direttamente alle chiavi ssh, rimuovendo la richiesta della password (meno volte viene digitata, pi� � difficile che qualche utente male intenzionato la riesca a capire...) che viene, eventualmente, sostituita dalla richiesta di una passphrase di sblocco della chiave.
=Software necessario=
Dobbiamo procurarci alcuni programmi:
* hibernate (il programma a linea di comando che gestisce l' ibernazione)
* suspend2 (una patch per il kernel)
* eventualmente i tools di gestione del risparmio energetico per il nostro Desktop Environment. In questa guida far� riverimento espressamente a Gnome Power Management (GPM), ma presumo il tutto sia facilmente adattabile ad altri programmi.


=Configurazione=
==Hibernate==
==Generazione delle chiavi==
Procediamo con l' installare hibernate. Il tutto si risolve con il classico:
Per poter gestire questo processo di autenticazione � necessario generare una coppia di chiavi (pubblica e privata). Il comando � semplice:
<pre># apt-get install hibernate vlock</pre>
<pre>
$ ssh-keygen -t dsa -b 1024
</pre>
dove '''-b''' rappresenta la lunghezza della chiave e '''-t''' viene usato per indicare il tipo di chiave. I possibili valori sono:
; rsa1 : per la versione 1 del protocollo (altamente sconsigliata)
; rsa o dsa : per al versione 2 del protocollo.


Durante la generazione delle chiavi ci viene chiesto dove salvarle (normalmente � ~/.ssh/id_dsa).. il valore di default va bene!
==Suspend2==
===Scaricare la patch===
Dal sito di [http://www.suspend2.net/ Suspend2], scarichiamo la versione pi� recente della patch. Al momento di scrivere questa guida il kernel pi� recente � il 2.6.16.19 e la patch Suspend2 � la 2.2.5.


Per quanto riguarda la passphrase richiesta, sempre durante la generazione delle chiavi, ci sono due opzioni, entrambe con pregi e difetti:
Ecco come procedere.
* inserire una passphrase: dal punto di vista della sicurezza, � ottimo... dal punto di vista pratico, per�, si � di fronte al problema che � necessario inserirla ad ogni connessione (nel caso di pi� host, comunque, rappresenterebbe un sistema molto comodo di accesso tramite la stessa ''passphrase'', invece di una password diversa per ogni host)
====Download====
* inserire una passphrase vuota: dal punto di vista della sicurezza lascia un po' a desiderare, in quanto il furto della chiave permetterebbe l'accesso incondizionato agli host; dal punto di vista pratico, invece, � comodissimo, in quanto slega l'accesso alla macchina remota dalla richiesta di password.
<pre>koky:~# cd /usr/src/
koky:/usr/src#
koky:/usr/src# wget http://www.suspend2.net/downloads/all/suspend2-2.2.5-for-2.6.16.9.tar.bz2
--12:40:13--  http://www.suspend2.net/downloads/all/suspend2-2.2.5-for-2.6.16.9.tar.bz2
          => `suspend2-2.2.5-for-2.6.16.9.tar.bz2'
Risoluzione di www.suspend2.net in corso... 212.236.250.103
Connessione a www.suspend2.net|212.236.250.103:80... connesso.
HTTP richiesta inviata, aspetto la risposta... 200 OK
Lunghezza: 104,327 (102K) [application/x-bzip2]


==Copia della chiave pubblica==
100%[====================================>] 104,327      77.44K/s
La chiave privata, come illustrato nel funzionamento, viene utilizzato dal computer che richiede la connessione (client), mentre quella pubblica deve essere salvata sul computer al quale connettersi (server).


Prendiamo, ad esempio, la seguente chiave pubblica (contenuta nel file ''~/.ssh/id_dsa.pub'' presente sul client):
12:40:17 (77.22 KB/s) - "suspend2-2.2.5-for-2.6.16.9.tar.bz2" salvato [104327/104327]
<pre>
ssh-dss AAAAB3NzaC1kc3MAAACBAPe/PbwWkXR7qI8hcbxLRUS0/fIul0eUiSvu/hnXZXZDIZjVi1VlIbipff6n7Z6vF0hJRg6l
[cut]
gjLLTka0/QF8SP4JYFKs0Iasdju6y1slmx9IdzQt+hvMqF2+PPchCWcyBP3S5Zje4T6Az1MgrvuwCXIW6oUZXCA== user@comp
</pre>


Copiamo il contenuto nel file ''~/.ssh/authorized_keys2`` presente sul server, nella home relativa all'utente usato su quella macchina e salviamo il file.
koky:/usr/src#</pre>


==Test di funzionamento==
====Decompressione====
Se tutto � stato eseguito correttamente, sar� possibile connettersi al server tramite un semplice:
<pre>koky:/usr/src# tar xvjf suspend2-2.2.5-for-2.6.16.9.tar.bz2
<pre>
suspend2-2.2.5-for-2.6.16.9/
$ ssh utente@server
suspend2-2.2.5-for-2.6.16.9/apply
</pre>
suspend2-2.2.5-for-2.6.16.9/Changelog.txt
suspend2-2.2.5-for-2.6.16.9/unapply
suspend2-2.2.5-for-2.6.16.9/2000-workqueue-freezing.patch
suspend2-2.2.5-for-2.6.16.9/features
suspend2-2.2.5-for-2.6.16.9/2020-kmod-freeze.patch
suspend2-2.2.5-for-2.6.16.9/3030-reboot-handler-hook.patch
suspend2-2.2.5-for-2.6.16.9/3020-cryptoapi-deflate.patch
suspend2-2.2.5-for-2.6.16.9/3050-init-hooks.patch
suspend2-2.2.5-for-2.6.16.9/3060-reset-kswapd-max-order-after-resume.patch
suspend2-2.2.5-for-2.6.16.9/3080-dynamic-pageflags.patch
suspend2-2.2.5-for-2.6.16.9/3070-clear-swapfile-bdev-in-swapoff.patch
suspend2-2.2.5-for-2.6.16.9/3040-proc-acpi-sleep-activate-hook.patch
suspend2-2.2.5-for-2.6.16.9/2010-suspend2-freezer-upgrade.patch
suspend2-2.2.5-for-2.6.16.9/3000-crypto-api-lzf-support.patch
suspend2-2.2.5-for-2.6.16.9/9900-Suspend2.patch
koky:/usr/src#</pre>


Se � stata inserita, durante la generazione delle chiavi, una passphrase, sar� necessario usarla per completare il processo di autenticazione, altrimenti apparir� direttamente il prompt della macchina remota.
===Applicare la patch===
Ora che abbiamo scaricato e decompresso la patch, dobbiamo applicarla al nostro kernel, quello che intendiamo usare o usiamo quotidianamente.


==Approfondimenti==
Presumendo che la versione corrente del kernel sia linkata alla directory '''/usr/src/linux''' procederemo come segue:
* [http://www.debian.org/doc/manuals/reference/ch-tune.it.html#s-ssh La guida Debian: SSH]
<pre>koky:/usr/src# cd linux
[[Categoria:Networking]][[Categoria:Sicurezza]]
koky:/usr/src/linux# ../suspend2-2.2.5-for-2.6.16.9/apply
Applying 2000-workqueue-freezing.patch ...
Applying 2010-suspend2-freezer-upgrade.patch ...
Applying 2020-kmod-freeze.patch ...
Applying 3000-crypto-api-lzf-support.patch ...
Applying 3020-cryptoapi-deflate.patch ...
Applying 3030-reboot-handler-hook.patch ...
Applying 3040-proc-acpi-sleep-activate-hook.patch ...
Applying 3050-init-hooks.patch ...
Applying 3060-reset-kswapd-max-order-after-resume.patch ...
Applying 3070-clear-swapfile-bdev-in-swapoff.patch ...
Applying 3080-dynamic-pageflags.patch ...
Applying 9900-Suspend2.patch ...
All happy!
koky:/usr/src/linux#</pre>
Lo script ci informa di aver applicato correttamente la patch. Ora possiamo passare a compilare il nostro kernel!
 
===Configurare il kernel===
Le schermate che seguono mostrano cosa abilitare all' interno del kernel.
 
[[image:Menuconfig-01.png]]
 
[[image:Menuconfig-02.png]]
 
===Configurazione del bootloader===
=Configurare il sistema=
93

contributi