Accesso SSH a cvs.gentoo.org Sven Vermeulen Robin H. Johnson Marcello Magaldi Questa mini-guida spiega come creare e usare le chiavi ssh, specialmente per il loro utilizzo con cvs.gentoo.org. 1.1 2007-12-24 Chiavi SSH
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.

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 dsa:

$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/temp/.ssh/id_dsa): (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_dsa.
Your public key has been saved in /home/temp/.ssh/id_dsa.pub.
The key fingerprint is:
85:35:81:a0:87:56:78:a2:da:53:6c:63:32:d1:34:48 temp@Niandra
Assicurarsi di impostare una passphrase robusta sulla propria chiave privata. Idealmente, questa passphrase dovrebbe essere almeno di 8 caratteri e contenere un misto di lettere, numeri e simboli.

L'operazione è molto semplice! Ora controllare cosa è stato creato:

# ls ~/.ssh
id_dsa  id_dsa.pub

Probabilmente si avranno più file di questi, ma i due file elencati sopra sono quelli veramente importanti.

Il primo file, id_dsa, è la propria chiave privata. Non distribuirla a tutte le persone a meno che si voglia avere una discussione animata con drobbins (no, non lo si desidera).

Se si ha accesso a molti host (fidati!) dai quali si vuole connettersi a cvs.gentoo.org, si dovranno copiare id_dsa nelle directory ~/.ssh su questi host.

Il secondo file, id_dsa.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

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
Installare la propria chiave pubblica su una macchina usando l'autenticazione LDAP per SSH Se si è un nuovo sviluppatore, il proprio reclutatore inserirà la propria chiave SSH in LDAP, in modo che si possa effettuare il login. Da quel momento in poi aggiungere le chiavi SSH da soli usando la seguente procedura.

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.

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

$ perl_ldap -b user -C sshPublicKey "$(cat ~/.ssh/id_dsa.pub)" <username>
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(ndt in inglese), ma ne sarà fornita una breve introduzione.

Prima di tutto, 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.

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

Assicurarsi di sostituire hostname con il proprio hostname.