Autenticazione SSH Git

Ho Debian, Fisheye e Git sul mio server. I miei repository git sono gestiti da Fisheye. Non c’è autenticazione nella parte Fisheye. Tutte le procedure di autenticazione sono gestite da git.

Vorrei utilizzare l’autenticazione SSH, in modo che non sia necessario fornire nome utente e password mentre invio le modifiche al server. So come creare una chiave rsa, ma dove posso copiare la mia chiave pubblica sul server?

La parte fondamentale dell’articolo ” Git sul server – Configurazione del server ” è:

è necessario aggiungere alcune chiavi pubbliche SSH dello sviluppatore al file ~/.ssh/authorized_keys per quell’utente.
Supponiamo che tu abbia ricevuto alcune chiavi via e-mail e le abbia salvate in file temporanei. Di nuovo, le chiavi pubbliche assomigliano a questo:

 $ cat /tmp/id_rsa.john.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq dAv8JggJICUvax2T9va5 gsg-keypair 

(Nota: assicurarsi che il tasto sia visualizzato su una sola riga)

Basta aggiungerli al tuo file authorized_keys:

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

Se non si dispone di un file authorized_keys sul server, crearlo, ma assicurarsi di proteggerlo correttamente.

 server$ mkdir ~/.ssh server$ chmod 700 ~/.ssh server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys server$ chmod 600 ~/.ssh/authorized_keys server$ rm ~/id_rsa.pub 

Vedi ” Creazione di chiavi SSH per Gerrit e Hudson ” per un esempio concreto.

  • Assicurati che git sia nel PERCORSO usato dal tuo demone ssh.
  • Assicurati che tutte le directory madri del tuo ~/.ssh non siano scrivibili per il gruppo (solo chmod 755 ).

Devi incollare la tua chiave pubblica in ~/.ssh/authorized_keys . Crea il file se non esiste.