Accesso SSH a cvs.gentoo.org
1.
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:
Codice 1.1: Creare chiavi SSH |
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/temp/.ssh/id_dsa):
Created directory '/home/temp/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
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
|
Nota:
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:
Codice 1.2: File Creati |
# 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).
Avvertenza:
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
Codice 1.3: Aggiungere la chiave SSH alla macchina |
$ cat ~/.ssh/id_dsa.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.
|
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.
Codice 1.4: Aggiungere la chiave SSH con perl_ldap su dev.gentoo.org |
$ perl_ldap -b user -C sshPublicKey "$(cat ~/.ssh/id_dsa.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.
Codice 1.6: Aggiungere questo a .bash_profile |
keychain ~/.ssh/id_dsa
. .keychain/-sh
|
Assicurarsi di sostituire hostname con il proprio hostname.
|