Come inviare e ricevere file criptati con una chiave GPG

Posted by Ingalex | Posted in GUIDE | Posted on 04-01-2010

0

Sempre rimanendo in tema con le chiavi GPG ho trovato un altro post molto interessante sul blog blogs.koolwal.net che ho deciso di tradurvi.

Tramite questa guida impareremo a usare le chiavi GPG per inviare e ricevere file criptati.

Supponiamo di voler inviare un messaggio criptato o un file criptato a un amico.

Indichiamo come:

Persona 1 – mittente

Persona 2 – destinatario

Supponiamo che la Persona 1 voglia inviare alla Persona 2 un file criptato chiamato account.txt. Supponiamo che il file account.txt contenga dei dati sensibili che vogliamo proteggere. Per esempio:

Numero di conto bancario: 12345678
Importo della transazione:  500,000 €

Procedimento per la Persona 1

  • Passo1: Importare la chiave della Persona 2

    Il primo passo consiste nell’importare nel proprio sistema la chiave pubblica della persona (Persona 2) alla quale si vuole inviare il file segreto. Ciò può essere effettuato in due modi:

    Metodo 1:

    Importare la chiave pubblica della Persona 2 usando un file che può essere stato inviato tramite email.  Supponiamo che il file si chiami persona2_pub_key.txt.  Eseguite il seguente comando per importarla:

    persona1:~# gpg --import persona2_pub_key.txt

    Nota:  Si suppone che che la Persona 2 abbia precedentemente generato una coppia di chiavi pubblica/privata (seguendo questa guida) e che in seguito la chiave sia stata esportata nel file persona2_pub_key.txt.

    Metodo 2:

    Un altro metodo consiste nel cercare la chiave pubblica della Persona 2 su un GPG keyserver. Ovviamente è possibile usare questo metodo unicamente se la Persona 2 ha inviato la chiave su un GPG keyserver e a patto che sia noto anche l’indirizzo del keyserver. Potete cercare la chiave della  Persona 2 usando alternativamente i seguenti comandi:

    persona1:~# gpg --search-keys --keyserver hkp://subkeys.pgp.net 'person2@abc.com'
    oppure
    person1:~# gpg --search-keys --keyserver hkp://subkeys.pgp.net 'Person 2 name'
    oppure
    person1:~# gpg --search-keys --keyserver hkp://subkeys.pgp.net 'Key-ID'

    Generalmente potete effettuare la ricerca indifferentemente in base al nome della Persona 2 , email o Key ID.

    Come risultato della ricerca dovreste ricevere un output di questo tipo:

    gpg: requesting key EE6E8046 from hkp server subkeys.pgp.net
    gpg: key EE6E8046: “Persona 2 nome (Public Key) persona2@abc.com” not changed
    gpg: Total number processed: 1
    gpg:              unchanged: 1

  • Passo 2: Verificare l’importazione della chiave

    Per verificare che la chiave relativa alla Persona 2 sia stata importata con successo nel nostro sistema, basta eseguire il seguente comando:

    person1:~# gpg --list-keys

    in tal modo dovrebbe essere visualizzato qualcosa di questo tipo:

    /root/.gnupg/pubring.gpg
    ————————
    pub   1024D/E4635BBE 2009-03-16
    uid                  John Doe (My first key) <gpg@abc.com>
    sub   2048g/0AC353C2 2009-03-16

    pub   1024D/EE6E8046 2009-02-20
    uid                  Persona 2 name (My GPG key) persona2@abc.com
    sub   2048g/AE3B1BD4 2009-02-20

    Le informazione della seconda chiave (riportate in corsivo) sono quelle relative alla Persona 2 alla quale intendiamo inviare il file criptato.

  • Passo 3: Encrypt the file using your private key

    Ora siamo pronti per criptare il file usando la chiave pubblica della Persona 2 seguendo i passi seguenti:

    persona1:~# gpg --encrypt --recipient 'persona2@abc.com' account.txt

    Nota: Potreste avere qualche messaggio di avvertimento riguardante l’autenticità della chiave pubblica. Semplicemente ignorateli digitando “y” dato che stiamo supponendo che Persona 2 sia una persona fidata.

    In questo modo verrà creato un file nominato account.txt.gpg. Questo è il file criptato e se provate a usare un editor di testo, vedrete solo una sequenza di simboli e le lettere  incomprensibile a conferma del fatto che il processo di criptazione ha avuto successo.

  • Passo 4:  Inviare il file criptato alla Persona 2

    Ora è possibile inviare il file criptato alla Persona 2 come allegato tramite email oppure tramite un qualsiasi dispositivo di memorizzazione dati.  Una volta che la Persona 1 ha inviato il file alla Persona 2 , il lavoro della Persona 1 è completato e ora la Persona 2 deve fare la sua parte per decriptare il file e renderlo leggibile.

Procedimento per la Persona 2

  • Ora la Persona 2 deve ripetere i gli stessi Passi 1 e 2 riportati sopra con l’eccezione che le informazioni della Persona 2 devono essere sostituite con quelle dalla Persona 1.  In pratica bisogna prima importare la chiave pubblica della Persona 1 e verificare che sia stata importata con successo. Questi passi sono riassunti qui di seguito:

    persona2:~# gpg --import persona1_pub_key.txt
    oppure
    persona2:~# gpg --search-keys --keyserver hkp://subkeys.pgp.net 'gpg@abc.com'
    persona2:~# gpg --list-keys

    Decriptare il file

    Finalmente la Person 2 può decriptare il file account.txt.gpg con il seguente comando:

    persona2:~# gpg --output account.txt --decrypt account.txt.gpg

    Vi verrà richiesta la votra passphrase per poter decriptare il file. Dopo aver inserito la passphrase potrete vedere un file chiamato account.txt (come specificato nella –output option nel comando riportato sopra) e potrete visualizzarne il contenuto con un editor di testo.

    persona2:~# less account.txt

    Numero di conto bancario: 12345678

    Importo della transazione:  500,000 €
    account.txt (END)

Questo è tutto. Persona 2 sarà felice di ricevere il messaggio con tutti i dettagli importanti e potrà ringrazione la Persona 1.

Backup, ripristino, revoca e cancellazione delle chiavi GPG/PGP in Debian e distribuzioni derivate

Posted by Ingalex | Posted in GUIDE | Posted on 02-01-2010

0

Navigando per la rete ho trovato un post molto interessante che ho deciso di tradurvi effettuando qualche integrazione, ritenendo possa tornare utile a molti.

Backup della coppia di chiavi pubblica/privata

 

Supponiamo che abbiate generato una coppia di chiavi pubblica/privata (seguendo questa guida).

Supponiamo in oltre che abbiate bisogno di effettuare un backup delle chiavi semplicemente per conservarle, per motivi di sicurezza oppure per importarle su un altro computer.

Per visualizzare la lista delle chiavi presenti sul vostro computer vi basta eseguire tramite terminale:

# gpg --list-keys

/root/.gnupg/pubring.gpg
————————
pub   1024D/EE6E8046 2009-02-20
uid                 John Smith (My GPG key) <test@abc.com>
sub   2048g/AE3B1BD4 2009-02-20

pub   1024D/E4635BBE 2009-03-16
uid                  Juan Carlos (My first key) <gpg@abc.com>
sub   2048g/0AC353C2 2009-03-16

Selezionate il KeyID relativo alle chiavi delle quali volete effettuare il backup. In questo caso supponiamo sia EE6E8046.

Per effettuare il backup della vostra Chiave Publica key eseguite il seguente comando:

#  gpg -ao mypub.key --export EE6E8046

In questo modo verrà creato un file chiama “mypub.key” contenete il backup della vostra chiave pubblica.

Per effettuare il backup della vostra Chiave privata eseguite il seguente comando:

#  gpg -ao myprivate.key--export-secret-keys EE6E8046

In questo modo verrà creato un file chiama “myprivate.key” contenete il backup della vostra chiave privata.

Ora salvate questi due file (mypub.key e myprivate.key) su un floppy disk, CD o USB drive e riponeteli in un posto sicuro.


Ripristinare le vostre chiavi GPG

 

Per poter ripristinare su un computer il precedente backup delle chiavi, vi posizionate tramite terminale nella directory dove si trovano i due file (mypub.key e myprivate.key) di backup ed eseguite:

# gpg --import myprivate.key

gpg: key EE6E8046: secret key imported
gpg: key EE6E8046: public key “John Smith (My GPG key) <test@abc.com>” imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1

# gpg --import mypub.key

gpg: key EE6E8046: “John Smith (My GPG key) <test@abc.com>” not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

# gpg --list-keys

/root/.gnupg/pubring.gpg
————————
pub   1024D/EE6E8046 2009-02-20
uid                  Bill Till (My GPG key) <test@abc.com>
sub   2048g/AE3B1BD4 2009-02-20

Le vostre chiavi sono state ripristinate con successo e potete continuare a usarle così come fate di solito.


Generare la chiave di revoca

 

L’utilità di questo passo sarà spiegata nel paragrafo successivo. Per ora assicuratevi di eseguire semplicemente il seguente comando:

# gpg --output myrevoke.key --gen-revoke  EE6E8046

e rispondete alle domande che vi vengono poste. Inserite la vostra passphrase quando richiesto. Una volta eseguito il comando si creerà il file “myrevoke.key” che dovete conservare in un posto sicuro preferibilmente su un floppy or a CD.


Revocare le chiavi GPG

 

Pregate di non aver bisogno di eseguire questo passo perchè altrimenti significherebbe che:

a) La vostra chiave privata è stata compromessa

b) Avete perso i backup delle chiavi

c) Avete dimenticato la vostra passphrase (password)

Ora supponiamo che vogliate revocare la vostra chiave. Questo significa che non potrete più usare questa chiave in futuro e volete mettere al corrente di ciò anche le persone su Internet.

Prima di tutto dobbiamo revocare la chiave localmente sul vostro computer:

# gpg --import myrevoke.key
Dove il file  “myrevoke.key” corrisponde a quello generato nel passo precedente.

Ora dobbiamo informare tutti su Internet che stiamo revocando questa chiave e che le persone non più usare questa chiave per inviarti messaggi. Ciò può essere fatto informado i keyserver così come sono stati informanti quando è stata creata una nuova chiave pubblica. Per inviare le informazioni di revoca al keyserver basta eseguire il seguente comando:

# gpg —send-keys –keyserver hkp://subkeys.pgp.net EE6E8046

Ora tutti coloro che proveranno a inviare un messaggio usando la vostra chiave che è stata revocata riceverà un messaggio.

Dopodiché è necessario aggiornare il databese del portachiavi GPG database in modo tale che contenga le ultime informazioni sulle chiavi.

Per farlo basta eseguire il seguente comando:

# gpg --refresh-keys --keyserver hkp://subkeys.pgp.net


Cancellare una chiave

 

Supponiamo che abbiate creato troppe chiavi nel fare delle prove con GPG e ora siete confusi con tutte quelle chiavi. Supponiamo che vogliate cancellare tutte le chiavi eccetto una.  Seguendo il procedimento potete cancellare le chiavi inutili:

# gpg --list-keys

/root/.gnupg/pubring.gpg
————————
pub   1024D/EE6E8046 2009-02-20
uid                 John Smith (My GPG key) <test@abc.com>
sub   2048g/AE3B1BD4 2009-02-20

pub   1024D/E4635BBE 2009-03-16
uid                  Juan Carlos (My first key) <gpg@abc.com>
sub   2048g/0AC353C2 2009-03-16

Selezionate la KeyID relativo alla chiave che volete cancellare. In questo caso supponiamo sia E4635BBE.

# gpg –delete-secret-and-public-key E4635BBE

Il comando seguente rimuove la chiave dal portachiavi pubblico e privato.  Per verificare che la chiave sia stata effettivamente rimossa:

# gpg --list-keys

/root/.gnupg/pubring.gpg
————————
pub   1024D/EE6E8046 2009-02-20
uid                 John Smith (My GPG key) <test@abc.com>
sub   2048g/AE3B1BD4 2009-02-20

In base all’output riportato possiamo vedere che la chiave relativa a “Juan Carlos” non è più presente.

Cosa sono i keyserver

Posted by Ingalex | Posted in GUIDE | Posted on 11-12-2009

0

Come riportato nella Wikipedia:

Nell’ambito della sicurezza informatica, un key server è un sistema che si occupa di fornire, attraverso appositi programmi, chiavi crittografiche agli utenti che le richiedono.

Le chiavi fornite quasi sempre fanno parte di un certificato digitale, solitamente in un formato standard (per esempio X.509 o PKCS), che contiene oltre alla chiave anche informazioni sul proprietario della chiave e sulla sua identità. La chiave che viene restituita dal key server è la parte pubblica della chiave, da utilizzare con algoritmi di crittografia asimmetrica.

I key server più importanti e maggiormente accessibili, sparsi in tutto il mondo, sono quelli che contengono le chiavi PGP (e GPG) e le distribuiscono agli utenti di tali sistemi crittografici. Questi server quasi sempre sono mantenuti da singoli individui e forniscono un servizio “pubblico”, aiutando la costruzione della rete di fiducia, il sistema su cui si basa la garanzia dell’identità in PGP.

Per quanto riguarda i repository, ogni manutentore di un repository può decidere di firmare i propri repository. Per poter firmare il repository si generan una coppia di chiavi pubblica/privata. La chiave privata protetta con una passphrase (una password) viene conservata dal manutentore del repository. La chiave pubblica deve essere condivisa con gli utenti che intendono usufruire del repository. Per condividere la chiave pubblica generalmente vengono utilizzate due differenti tecniche:

  1. La chiave pubblica viene esportata in un semplice file di testo e poi può essere semplicemente imporatata eseguendo un comando del tipo:

    wget http://www.indirizzo_chive/public.key -O- | sudo apt-key add -
  2. In alternativa la chiave viene esportata su un server di chiavi (keyserver) tramite il comando:


    gpg --send-keys --keyserver <indirizzo_keyserver> <ID CHIAVE>


    In questo modo gli utenti possono importare la chiave pubblica eseguendo un comando del tipo:


    sudo gpg --keyserver <indirizzo_keyserver> --recv-keys <ID CHIAVE> && sudo gpg --armor --export <ID CHIAVE> | sudo apt-key add -

    sostituendo opportunamente <ID CHIAVE> e <indirizzo_keyserver>

E’ possibile esportare la chiave pubblica su un keyserver anche tramite interfaccia web tramite il sito relativo al keyserver (nel caso in cui esista una interfaccia web). Esistono tanti keyserver tra i quali i più noti e più utilizzati sono:

  • http://keyserver.ubuntu.com
  • http://pgp.mit.edu
  • hkp://search.keyserver.net
  • http://wwwkeys.eu.pgp.net

Su questo sito potete trovare una utilissima lista di keyserver.

Nuova struttura repository e aggiunta chiave di autentificazione

Posted by Ingalex | Posted in COMUNICAZIONI DI SERVIZIO | Posted on 10-12-2009

0

Vi comunico che ho modificato la struttura dei miei repository in modo tale da allinearmi alla struttura dei repository ufficiali Ubuntu, in modo tale da semplificare l’aggiunta di nuovi file e l’aggiornamento degli stessi.
Inoltre ho aggiunto anche una chiave pubblica per autentificare i repository in modo da non dover ogni volta confermare quando vogliamo installare un pacchetto.
Così finalmente non vedremo più la notifica:

I pacchetti elencati qui sotto non sono autenticati e potrebbero quindi avere una natura malevola.
Installare software non autentificato?

La nuova struttura dei repository è la seguente:

repo
.
|-debian
|—dists
|—–etch
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–lenny
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–sid
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–squeeze
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—pool
|—–etch
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–lenny
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–sid
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–squeeze
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|-mint
|—dists
|—–elyssa
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–felicia
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–gloria
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–helena
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—pool
|—–elyssa
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–felicia
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–gloria
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–helena
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|-ubuntu
|—dists
|—–hardy
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–intrepid
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–jaunty
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–karmic
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–lucid
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—pool
|—–hardy
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–intrepid
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–jaunty
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–karmic
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386
|—–lucid
|——-main
|———binary-all
|———binary-amd64
|———binary-i386
|——-non-free
|———binary-all
|———binary-amd64
|———binary-i386

Per informazioni sugli indirizzi relativi ai nuovi repository, su come aggiungere i nuovi repository e come autentificarli potete fare riferimento a questa guida.

Le varie sources.list presenti in tabella contengono ancora i riferimenti ai vecchi repository che sono ancora attivi, ma presto saranno sostituiti con i nuovi repository.

In questi giorni eliminerò i vecchi repository e lascerò attivi solo quelli nuovi. Vi invito pertanto a sostituire i vecchi indirizzi con quelli nuovi.

Eseguire apt-get senza password

Posted by Ingalex | Posted in GUIDE, LINUX | Posted on 19-11-2009

0

Se effettuate aggiornamenti, installazioni e rimozioni tramite terminale usando apt-get può tornarvi utile questa semplice guida.

Come sapete per ragioni di sicurezza apt-get può essere utilizzato solo come root (amministratore) eseguendo:

sudo apt-get <comando>

E poi fornendo la password di amministratore. Se volete poter usare apt-get evitando l’inserimento della password vi basta seguire questa guida con la dovuta cautela.

Editate il file /etc/sudoers utilizzando Vim, eseguendo tramite terminale:

$ sudo visudo

Il file sudoers verrà aperto con l’editor Vim e vi apparirà come segue:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL


# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Voi dovete semplicemente inserire dopo l’ultima riga la seguente riga:

nomeutente ALL=(ALL) NOPASSWD:/usr/bin/apt-get

Sostituendo al posto di nomeutente proprio il vostro nome utente con il quale vi loggate su Kubuntu. Come potete osservare dopo i due punti bisogna inserire la directory dove è allocato l’eseguibile del programma.

Generalmente apt-get si trova in /usr/bin/ ,ma se non siete sicuri potete verificarlo eseguendo:

which apt-get

Se volete consentire l’utilizzo senza password anche ad altri utenti potete inserire subito di seguito un altra riga identica cambiando opportunamente il nomeutente

Poi salvate premendo da tastiera Ctrl+O e confermate con invio e uscite premendo Ctrl+X.

Lo stesso procedimento potete effettuarlo per aptitude o per eseguire altri comandi tramite console che necessitano dei diritti di amministratore.

Se proprio siete molto pigri e non volete proprio inserire le password per eseguire tutti quei comandi che richiedono i diritti di amministratore, al posto della riga che avete appena aggiunto al file sudoers potete inserire quest’altra:

nomeutenteALL=(ALL) NOPASSWD: ALL

Quest’ultima modifica è fortemente sconsigliato perchè potreste mettere seriamente a rischio la sicurezza del sistema.

Se avete danneggiato il file sudoers potete seguire l’altra guida per poter porre rimedio.

Script di Dominic Evans per automatizzare l’autentificazione dei repository

Posted by Ingalex | Posted in GUIDE | Posted on 06-11-2009

1

Fra le guide presenti su questo sito ho inserito in passato una guida per aggiungere le chiavi gpg mancanti per autentificare i repository. In quella guida erano presenti differenti modalità per procedere: sia tramite interfaccia grafica che tramite terminale.
Per quanto riguarda l’autentificazione dei repository tramite terminale avevo proposto due differenti script che tutt’ora ritengo molto validi e pratici, da eseguire ogni qual volta aggiungiamo nuovi repository.
Navigando mi sono imbattuto in tanti altri script interessanti che hanno comunque lo stesso scopo.
Fra i tanti script mi sembrava degno di nota quello realizzato da Dominic Evans.

Vediamo come utilizzare lo script. Prima di tutto dovete scaricare lo script. Lo rinominiamo ppakeys per semplicità:

$ mv launchpad-update ppakeys

Poi dobbiamo assegnargli i permessi di esecuzione:

$ sudo chmod 775 ppakeys

Dopodiché potete eseguire lo script per aggiungere le chiavi gpg. A mio parere  il lato negativo di questo script è che controlla tutte le chiavi gpg e non solo quelle mancanti. Invece lo script che vi ho sempre consigliato (modalità testuale automatizzata A), sfruttando l’output di “sudo apt-get update” , scarica solo le chiavi gpg mancanti (e quindi strettamente necessarie).

Se volete poter eseguire lo script da terminale semplicemente eseguendo:

$ ppakeys

vi basta copiare lo script nella cartella /usr/local/bin/ oppure nella vostra home in ~/bin ( /$HOME/bin/ ):

$ sudo cp launchpad-update /usr/local/bin/ppakeys

e poi attribuirgli i permessi di esecuzione:

$ sudo chmod 775 /usr/local/bin/ppakeys

Inoltre, come suggerito da Source Guru, se volete che ad ogni “sudo apt-get update” venga eseguito automaticamente lo script potete creare un file chiamato 05ppa, in  /etc/apt/apt.conf.d/ :

$ sudo nano /etc/apt/apt.conf.d/05ppa

Con il seguente contenuto:

APT::Update::Pre-Invoke { "if [ -x /usr/local/bin/ppakeys ]; then /usr/local/bin/ppakeys; fi"; };

Poi salvate ed eseguite il consueto:

$ sudo apt-get update

Se non volete eseguire più lo script in automatico, vi basta rimuoverlo:

$ sudo rm /etc/apt/apt.conf.d/05ppa

Oppure se volete eliminare anche lo script stesso:

$ sudo rm /usr/local/bin/ppakeys

Vi rammento che questo script importa le chiavi gpg relative a tutti i repository contenuti in tutti i files con estensione .list presenti in /etc/apt/ quindi non solo quelli contenuti nella sources.list.

Aggiungere le chiavi GPG

Posted by Ingalex | Posted in GUIDE | Posted on 24-10-2009

4

Modalità grafica A

  • installare “apt-key-manager” tramite apt inserendo da terminale le seguenti righe di codice:

sudo apt-get install gui-apt-key

Se avete gnome come interfaccia troverete la voce APT-key manager in applicazioni -> strumenti di sistema

  • Avviate APT-key manager, e nello spazio riservato all’ID chiave, inserite il la pubkey che vi manca ricopiandola dalle righe fornite in output dal “sudo apt-get update”.

Esempio:

Supponiamo che dopo aver avviato da terminale “sudo apt-get update” esso vi restituisca:

W: Errore GPG: http://morgoth.free.fr hardy-backports Release: Le seguenti firme non sono state verificate perché la chiave pubblica non è disponibile: NO_PUBKEY 8CC68B397E2E4741

Copiate solo l’id della chiave (8CC68B397E2E4741) e inseritelo nello spazio denominato appunto come “ID chiave” e cliccate su ADD+.

Ovviamente dovete fare la stessa cosa per tutte le chiavi mancanti e avviare nuovamente da terminale “sudo apt-get update”.

Modalità grafica B

  • installate da terminale Kgpg con il seguente codice:

sudo apt-get install kgpg

Aprite il menù K e troverete il programma in Accessori.

  • Avviate il kgpg e andate su File-> Finestra server delle chiavi. Inserite nello spazio bianco denominato come “Testo da cercare o identificativo della chiave da importare” l’identificativo della chiave e poi cliccate su importa. Se la chiave non viene trovata cambiate dal menù a tendina il Server delle chiavi.

Modalità da terminale
Righe di codice da immettere da terminale:

$ gpg --keyserver subkeys.pgp.net --recv-keys [id della chiave]

$ gpg --armor --export [id della chiave] | sudo apt-key add -

$ sudo apt-get update

Esempio:

$ gpg --keyserver subkeys.pgp.net --recv-keys 8CC68B397E2E4741

$ gpg --armor --export 8CC68B397E2E4741 | sudo apt-key add -

$ sudo apt-get update

Per questa modalità vi inserisco anche una video-guida da me registrata.


Modalità automatizzate

METODO A

Il primo metodo non fa altro che sfruttare l’output dell’update per cercare le chiavi mancanti dal server delle chiavi per poi aggiungerle. Basta immetere da konsole il codice seguente:

sudo apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "nProcessing key: $key"; gpg --keyserver subkeys.pgp.net --recv $key && gpg --export --armor $key | sudo apt-key add -; done
METODO B

Il secondo metodo non fa altro che leggere il file /etc/apt/sources.list e importare le chiavi relative a tutti i repository ivi presenti. Basta immetere da konsole il codice seguente:

for i in $(grep -o -E "http.*.(gpg|asc|key)" /etc/apt/sources.list); do echo -n "$i "; wget $i -q -O - | sudo apt-key add -; done; keylist=""; for key in $(grep -o "[A-Fa-f0-9]{8}" /etc/apt/sources.list); do if [ -z "$(echo "$keylist"|grep "$key")" ]; then keylist="$keylist $key"; gpg --keyserver subkeys.pgp.net --recv $key && gpg --export --armor $key | sudo apt-key add -; fi; done;

CONNETTERSI RETE WIFI SENZA KNETWORKMANAGER

Posted by Ingalex | Posted in LINUX | Posted on 21-10-2009

0

Se come me non siete dei grandi ammiratori di Knetworkmanager, avete una connessione wifi casalinga e volete configurare il vostro pc perchè si connetta automaticamente alla rete wifi (e non avete il bisogno di dover scegliere fra più reti wifi) allora questa guida è quello che fa per voi.

Prima di tutto dovete controllare che  la vostra scheda di rete wireless (non importa se pci o usb) sia correttamente installata, configurata e riconosciuta dal sistema operativo. Per verificarlo eseguite da terminale:

iwconfig

che dovrebbe fornirvi output del tipo:

lo no wireless extensions.
eth0 no wireless extensions.
wmaster0 no wireless extensions.
wlan0 unassociated ESSID:off/any
Mode:Managed Channel=0 Access Point: 00:00:00:00:00:00
Bit Rate=0 kb/s Tx-Power:off
Retry:on RTS thr:off Fragment thr:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
pan0 no wireless extensions.

Si vede chiaramente che l’unica scheda ad avere una “wireless extensions” è in questo caso la wlan0. (ma fate attenzione perchè non sempre le schede wireless vengono nominate dal sistema operativo come wlan0, potreste trovare anche delle schede wireless chiamate come eth0, eth1…).

Se invece tutte le periferiche presentano una “no wireless extensions” allora vuol dire che i driver della scheda di rete wireless non sono stati correttamente installati.

Ora una volta identificata la scheda di rete wireless come wlan0 procediamo accendendo l’interfaccia di rete eseguendo:

sudo ifconfig wlan0 up

Ora cerchiamo effettuiamo una scansione per cercare quegli access point che sono in visibilità radio eseguendo:

iwlist wlan0 scan

Annotatevi le informazioni relative all’ESSID (nome della rete che avete impostato sul router wireless o sul access point, in alcuni router il nome della rete è fisso e non si può cambiare) e al CHANNEL.
Ora in base al tipo di codifica che avete impostato sul router per proteggere la vostra rete WPA / WEP dovete continuare a leggere i paragrafi seguenti.




CODIFICA DI TIPO WPA



Assicuratevi prima di tutto che sia stato installato il pacchetto wpasupplicant eseguendo:
sudo apt-get install wpasupplicant
Creare il file /etc/wpa_supplicant.conf con il vostro editor di testo preferito e con i privilegi d’amministratore e inserite le seguenti righe:
network={
ssid="Nome access point che vi siete annotati in precedenza"
psk=chiave wpa in esadecimale che avete impostato sul router }

Ricordatevi di inserire l’ssid fra virgolette mentre la chiave wpa deve essere espressa in esadecimale e non va inserita fra le virgolette. Nel caso di una chiave WPA a 256 bit dovrete inserire 64 cifre esadecimanli. Per esempio:

network={
ssid="ReteBingoBongo"
psk=6d726b2770697c7879786d726b2770697c7879786d726b2770697c7879786d72}

Se invece volete inserire la passphrase WPA in ascii dovete inserire la passphrase fra le virgolette, inoltre la passphrase deve essere costituita da minimo 8 e massimo 63 caratteri.
Se invece possedete la passphrase in ASCII e volete inserirla in esadecimale potete convertirla in esadecimale tramite il seguente convertitore ASCII-ESADECIMALE:

Hex Conversion

Hex:

ASCII:

ASCII:

Hex:

Ora salvate il file wpa_supplicant.conf e aprite con un editor di testo sempre con i diritti di amministratore il file /etc/network/interfaces. Il seguente è un esempio di come potete impostare il file interfaces:

iface wlan0 inet static
address 192.168.1.135
netmask 255.255.255.0
gateway 192.168.1.1
network 192.168.0.0
wireless-essid ReteBingoBongo
wireless-mode managed
wireless-channel 1
wpa-conf /etc/wpa_supplicant.conf
auto wlan0
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
auto lo

Dove wlan0 va sostituito con il nome della vostra interfaccia wireless

address = indirizzo ip statico che avete assegnato sul router per il vostro pc

netmask = l’indirizzo ip della netmask che di solito è  255.255.255.0

gateway  = indirizzo ip relativo al router/access point

network  = indirizzo che identifica gli ip della vostra rete casalinga

wireless-essid = nome ssid della rete wireless impostato sul router

wireless-channel = canale sul quale viene effettettuata la trasmissione

wpa-conf = indirizzo in cui è stata salvato il profilo della codifica wpa  (/etc/wpa_supplicant.conf)

auto = permette di connettersi in automatico all’avvio del sistema tramite l’interfaccia selezionata

Le ultime 5 righe dell’esempio sono relative alle altre interfacce di rete che non hanno una “wireless extensions” e che quindi non ci interessano per quanto riguarda il nostro discorso.

Ora attiviamo l’interfaccia con:
sudo ifconfig wlan0 up
Sostituendo al posto di wlan0 il nome della vostra interfaccia di rete wireless.
Ora avviamo wpa_supplicant eseguendo:
sudo wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf -dd -B
Potete verificare la comunicazione con l’access point effettuando un ping all’indirizzo del vostro access point:
ping 192.168.1.1
Se la comunicazione con il router non dovesse avere esito positivo provate a disattivare le altre interfacce di rete disponibili tramite:
sudo ifconfig eth0 down
Dopodichè riattivate la connessione.



CODIFICA DI TIPO WEP


Il procedimento per la configurazione dell’interfaccia di rete con una codifica di tipo WEP è simile a quello eseguito per la WPA con la differenza che non bisogna installare il pacchetto wpasupplicant.

Editate il file /etc/network/interfaces. Il seguente è un esempio di come potete impostare il file interfaces:

iface wlan0 inet static
address 192.168.1.135
netmask 255.255.255.0
gateway 192.168.1.1
network 192.168.0.0
wireless-essid ReteBingoBongo
wireless-mode managed
wireless-channel 1
wireless-key s:chiavewep ascii
auto wlan0
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
auto lo

Dove wlan0 va sostituito con il nome della vostra interfaccia wireless

address = indirizzo ip statico che avete assegnato sul router per il vostro pc

netmask = l’indirizzo ip della netmask che di solito è  255.255.255.0

gateway  = indirizzo ip relativo al router/access point

network  = indirizzo che identifica gli ip della vostra rete casalinga

wireless-essid = nome ssid della rete wireless impostato sul router

wireless-channel = canale sul quale viene effettettuata la trasmissione

wireless-key  = chiave wep in formato ascii se preceduta da “s:” altrimenti in formato esadecimale

auto = permette di connettersi in automatico all’avvio del sistema tramite l’interfaccia selezionata

Se il vostro router è dotato di dhcp e non vi interessa avere un indirizzo statico potete inserire al posto delle prime due righe la riga:

iface wlan0 inet dhcp

Le ultime 5 righe dell’esempio sono relative alle altre interfacce di
rete che non hanno una “wireless extensions” e che quindi non ci interessano per quanto riguarda il nostro discorso.
Alternativamente queste impostazioni possono anche essere immesse tramite console eseguendo i seguenti comandi (effettuando le dovute sostituzioni):

iwconfig wlan0 mode managed
iwconfig wlan0 channel 11
iwconfig wlan0 essid nomerete
iwconfig wlan0 key chiaveWEPesadecimale
gateway 192.168.1.1
sudo ifconfig wlan0 192.168.1.135 netmask 255.255.255.0

Dove il primo indirizzo ip è quello statico che volete assegnare al vostro pc all’interno della rete, metre il secondo indirizzo è quello della netmask. Se l’access point è dotato di dhcp e non vi serve avere un indirizzo ip statico nella vostra rete domestica potete eseguire:
sudo dhclient wlan0
Provate a pingare il router per verificare che la connessione con il router sia attiva e funzionante:
ping 192.168.1.1
In oltre se volete modificare i dns dovete editare con un editor di testo il file /etc/resolv.conf in questo modo:
nameserver ipDNSprimario
nameserver ipDNSsecondario

DISABILITARE AUTOSTART DI KNETWORKMANAGER

Posted by Ingalex | Posted in LINUX | Posted on 21-10-2009

0

Se come me configurate la connessione modificando manualmente il file /etc/network/interfaces , ritenete inutile knetworkmanager o comunque utilizzate un programma alternativo per gestire le reti (tipo wicd) allora questa guida fa al caso vostro.

Non so se avete notato che, quando chiudete knetworkmanager dall’area di notifica e chiedete espressamente che non venga caricato all’avvio, puntualmente appena avviate la vostra kubuntu si avvia lo stesso knetworkmanager.

Ho cercato la cartella dove sono inseriti i collegamenti dei programmi che vengono caricati all’avvio e ho trovato che nella cartella /usr/share/autostart/ è presente il file kde4-knetworkmanager-autostart.desktop.

Per non far caricare ad ogni avvio knetworkmanager basta cancellare o perlomeno spostare altrove questo file.

Se proprio volete temporanemente disabilitarlo vi basta crearvi una cartella e spostarlo li dentro in modo tale da poterlo rimettere a posto nel caso ne doveste aver bisogno in seguito.

Per farlo create una cartella (io l’ho chiamata magazzino):

mkdir magazzino

posizionatevi su  /usr/share/autostart/ tramite:

cd  /usr/share/autostart/

e quindi spostate il file (come root oppure tramite sudo) rcon:

sudo mv kde4-knetworkmanager-autostart.desktop /indirizzo_cartella/magazzino/

oppure se proprio volete cancellare il file dopo esservi posizionati sempre sulla cartella /usr/share/autostart/ procedete da terminale con un:

sudo rm -f kde4-knetworkmanager-autostart.desktop

Lo stesso procedimento lo potete utilizzare per disabilitare (con la dovuta cautela) altri programmi indesiderati che vengono caricati all’avvio.

Se non trovate nella cartella /usr/share/autostart il programma del quale volete disabilitare l’autostart potete cercare nelle cartelle:

/etc/xdg/autostart/
/home/vostro_username/.config/autostart
/home/vostro_username/.kde/autostart
/opt/gnome/share/autostart
/opt/gnome/share/gnome/autostart
/opt/kde3/share/autostart

oppure provate a cercare eseguendo da terminale:

locate autostart

Installare sources.list

Posted by Ingalex | Posted in GUIDE | Posted on 28-04-2009

2

Per usufruire della ingalex sources.list adatta per la vostra distro dovete aggiungere alla vostra sources.list la riga adatta alla vostra distro. Per farlo dovete editare la vostra sources.list con un editor di testo e aggiungere la riga opportuna fra quelle riportate di seguito oppure potete eseguire tramite terminale il comando opportuno fra quelli riportati di seguito.


Linux Ubuntu Hardy Heron 8.04


Linux Ubuntu Intrepid Ibex 8.10


Linux Ubuntu Jaunty Jackalope 9.04


Linux Ubuntu Karmic Koala 9.10


Linux Mint Elyssa 5


Linux Mint Felicia 6


Linux Mint Gloria 7


Debian Lenny 5.0


Debian Etch 4.0


Debian Sid 3.0


Dopo aver aggiunto alla vostra sources.list la riga opportuna con uno dei due metodi eseguite da terminale:

# sudo apt-get update

# sudo apt-get install listaIngalex

dopo aver installato il pacchetto per aggiungere le chiavi GPG mancanti eseguite:

sudo apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "nProcessing key: $key"; gpg --keyserver subkeys.pgp.net --recv $key && gpg --export --armor $key | sudo apt-key add -; done
TABELLA SOURCES.LIST