Gentoo Logo

Accesso SSH a cvs.gentoo.org

1.  Chiavi SSH

Key Handling

La propria coppia di chiavi SSH consente l'autenticazione nell'Infrastruttura Gentoo. Maneggiare in modo appropriato queste chiavi è vitale per la sicurezza delle nostre macchine. Si cerchi di senguire queste linee guida:

  • Conservare le chiavi private solamente in macchine di cui si è sicuri. Vale a dire solo dove si hanno permessi di root esclusivi e non condivisi con altri utenti.
  • Non utilizzare l'Infrastruttura Gentoo come ambiente fidato. Non conservare copie delle proprie chiavi nelle macchine Gentoo (come dev.gentoo.org). Si può inoltrare il proprio SSH agent attraverso le macchine Gentoo se sono configurate per farlo (maggiori informazioni sul forwarding sono disponibili più avanti).
  • Codificare le proprie chiavi con una passphrase robusta. Se si hanno dubbi sulla qualità della propria passphrase, installare pwgen; pwgen -sB 25
  • Non accedere all'infrastruttura Gentoo da macchine non fidate, come computer condivisi in uffici o hotel, internet cafè o macchine di conferenze. Molte di queste macchine sono infette da malware.
  • Se si ha il timore che le proprie chiavi siano compromesse, contattare immediatamente l'infrastruttura. Si può farlo attraverso #gentoo-infra su irc.freenode.net o scrivendo a incidents@gentoo.org.
  • Le chiavi ufficiale dei server dell'infrastruttura Gentoo sono disponibili nella pagina Specifiche dei server dell'infrastruttura Gentoo.

Creare le chiavi SSH

Prima di tutto bisogna avere effettuato fisicamente il login sul proprio computer. Assicurarsi che nessun altro veda ciò che si digita, perchè si scriveranno passphrases e cose simili. Pertanto armarsi di spray al peperoncino e combattere tutte le entità non fidate finchè non si è a casa da soli.

Ora si creerà la vostra chiave ssh, una chiave RSA per essere precisi. La chiave dovrebbe essere almeno 2048 bit, ma si raccomanda di crearla da 4096 bit. Effettuare il login sul proprio computer con l'utente che si ha intenzione di usare quando si vuole accedere a cvs.gentoo.org. Quindi digitare ssh-keygen -t rsa -b 4096:

Codice 1.1: Creare chiavi SSH

$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/temp/.ssh/id_rsa): (Premere invio)
Created directory '/home/temp/.ssh'.
Enter passphrase (empty for no passphrase): (Inserire la propria passphrase)
Enter same passphrase again: (Inserire nuovamente la propria passphrase)
Your identification has been saved in /home/temp/.ssh/id_rsa.
Your public key has been saved in /home/temp/.ssh/id_rsa.pub.
The key fingerprint is:
85:35:81:a0:87:56:78:a2:da:53:6c:63:32:d1:34:48 user@examplehost 

Nota: Assicurarsi di impostare una passphrase robusta sulla propria chiave privata. Idealmente, questa passphrase dovrebbe essere almeno di otto caratteri e contenere un misto di lettere, numeri e simboli.

Avvertenza: Non impostare una passphrase vuota per le proprie chiavi ssh. Se l'Infrastruttura si accorge di questa scelta l'account verrà sospeso.

Codice 1.2: File Creati

# ls ~/.ssh
id_rsa  id_rsa.pub

Si potrebbero avere più file di questi, ma i due file elencati sopra sono quelli veramente importanti.

Il primo file, id_rsa, è la propria chiave privata. Non darla a nessuno; non decifrarla in macchine non fidate. Lo Staff Gentoo non chiederà mai una copia delle chiavi private.

Avvertenza: Si faccia molta attenzione a quali macchine costudiscono le proprie chiavi private. Se si ha accesso a molti host (fidati!) dai quali si vuole connettersi a cvs.gentoo.org, si dovranno copiare id_rsa nelle directory ~/.ssh su questi host. Le macchine fidate sono quelle dove si è gli unici ad avere privilegi di root; queste macchine non vengono condivise con altri utenti.

Il secondo file, id_rsa.pub, è la propria chiave pubblica. Distribuire questo file a tutti gli host che si vuole siano in grado di accedere attraverso l'autentificazione SSH pubkey. Questo file dovrebbe essere concatenato a ~/.ssh/authorized_keys su questi host remoti. Aggiungerlo anche al proprio host locale cosìcchè ci si possa connettere anche ad esso se si possiedono molte macchine

Codice 1.3: Aggiungere la chiave SSH alla macchina

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Installare la propria chiave pubblica su una macchina usando l'autenticazione LDAP per SSH

Nota: Se si è un nuovo sviluppatore, il proprio reclutatore inserirà la vostra chiave SSH in LDAP, in modo che si possa effettuare il login. Da quel momento in poi è possibile aggiungere le chiavi SSH da soli usando la seguente procedura.

Nota: Per gran parte dell'infrastruttura Gentoo, usiamo LDAP per distribuire le informazioni sull'utente incluse le chiavi pubbliche SSH. Su queste macchine, ~/.ssh/authorized_keys generalmente non dovrebbe contenere la propria chiave.

Si dovrebbe mettere la propria chiave pubblica in LDAP, usando direttamente perl_ldap, o ldapmodify. La guida dell'infrastruttura LDAP (ndT in inglese) lo descrive più dettagliatamente.

Codice 1.4: Aggiungere la chiave SSH con perl_ldap su dev.gentoo.org

$ perl_ldap -b user -C sshPublicKey "$(cat ~/.ssh/id_rsa.pub)" <username>

Avvertenza: Ogni attributo sshPublicKey deve contenere esattamente una chiave pubblica. Se si possiedono più chiavi pubbliche, bisogna usare più attributi!

Usare keychain

Tutte le volte che si vorrà effettuare il login ad un host remoto usando l'autentificazione a chiave pubblica SSH, sarà richiesto di immettere la propria passphrase. Anche se a tutti piace scrivere, a lungo andare può risultare fastidioso. Fortunatamente, c'è keychain che può semplificare questa operazioni. C'è un documento a riguardo qui, ma ne sarà fornita una breve introduzione.

Prima di tutto, installare keychain:

Codice 1.5: Installare keychain

# emerge keychain

Ora keychain caricherà la propria chiave ssh privata quando si effettuerà il login sulla propria macchina locale. Per far ciò, aggiungere le righe seguenti a ~/.bash_profile. Ancora, questo dovrebbe esser fatto sulla propria macchina locale dove si lavora al CVS di Gentoo.

Avvertenza: Non eseguire MAI keychain o decifrare le chiavi private in macchine non sicure.

Codice 1.6: Aggiungere questo a .bash_profile

keychain ~/.ssh/id_rsa
. .keychain/hostname-sh

Assicurarsi di sostituire hostname con il proprio hostname.



Stampa

Aggiornato il 28 maggio 2012

Oggetto: Questa mini-guida spiega come creare e usare le chiavi ssh, specialmente per il loro utilizzo con cvs.gentoo.org.

Sven Vermeulen
Autore

Robin H. Johnson
Autore

Alec Warner
Autore

Joshua Saddler
Redazione

Marcello Magaldi
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.