2013-08-29 3 views
7

Mi piacerebbe sapere qual è il modo migliore per connettersi a un repository GitHub tra HTTPS e SSH. A quanto pare GitHub sembra raccomandare HTTPS su SSH:Utilizzo di HTTPS o SSH con GitHub

Se si è deciso di non utilizzare il metodo consigliato HTTPS, possiamo usare le chiavi SSH per stabilire una connessione sicura tra il computer e GitHub. I passaggi seguenti ti guideranno attraverso la generazione di una chiave SSH e quindi aggiungendo la chiave pubblica al tuo account GitHub.

Tuttavia non vedo alcun motivo per cui HTTPS sarebbe effettivamente migliore di SSH. SSH dovrebbe essere più sicuro di HTTPS normalmente. Quindi, perché GitHub consiglia l'HTTPS?

+1

È più efficiente, a quanto pare. C'è un buon articolo su [Pro Git] (http://git-scm.com/2010/03/04/smart-http.html) –

+0

Ciò significa che preferirei usare HTTPS su SSH? –

risposta

6

https è più facile da usare rispetto a ssh.

con SSH, è necessario:

  • generare una chiave privata
  • pubblicarlo su GitHub
  • lancio pubblico/(se si vuole veramente la sicurezza) di uno ssh-agent per inserire il passphrase sarebbe associato alla tua chiave privata.

https riutilizzare semplicemente le credenziali GitHub già presenti.
Se non si desidera immettere la password GitHub per ciascun comando git, è possibile memorizzare tali credenziali in crittografato~/.netrc.gpg (o %HOME%/_netrc.gpg in Windows).
Vedere un esempio dettagliato passo-passo in "Is there a way to skip password typing when using https:// github".

ho negozio che modo diversi credenziali (a GitHub, BitBucket, pronti contro termine interni, ...) in un file una (criptato), e io digitare una password (la passphrase gpg) una volta al mattino .
Posso quindi accedere a tutti questi repository senza dover inserire le credenziali durante il giorno.

+0

HTTPS è più facile, ma per quanto riguarda la sicurezza? –

+0

@ user2429940 stesso tipo di sicurezza, a condizione che non si lasci la password in un file di testo normale. Questo è il motivo per cui la crittografia gpg che cito in http://stackoverflow.com/a/18362082/6309 è così importante. – VonC

+0

@ user2429940 per maggiori dettagli: http://security.stackexchange.com/questions/1599/what-is-the-difference-between-ssl-vs-ssh-which-is-more-secure – VonC

11

ho ricevuto una risposta da GitHub:

Si consiglia https dal momento che è molto più semplice da installare e non richiede conoscenze o la gestione sicura delle chiavi ssh.

Dal ssh e https ssl uso sia dietro le quinte, il vantaggio di richiedere l'accesso a una chiave privata piuttosto che le credenziali di accesso vale solo se tali tasti sono gestiti in modo sicuro. Per coloro che non hanno familiarità con le migliori pratiche relative alle chiavi SSH, spesso è più difficile da spiegare che lasciare che mantengano le credenziali di accesso username/passhprase usando le procedure che già conoscono. Le raccomandazioni ci sono, quindi chi non ha un'opinione forte in ogni caso può scegliere il metodo più diretto. Chiunque preferisce le chiavi ssh è in grado di farlo in quanto sono pienamente supportati.

+0

Quindi ... in pratica la stessa idea generale della mia risposta, allora? – VonC

+0

Ya, giusto. Dai un'occhiata. –