2012-01-09 3 views
13

Ho un server web con gitolite installato e dove effettuo il login usando la mia chiave ssh. Normalmente io uso git sul server stesso usando la riga di comando ma per un nuovo progetto ho bisogno di clonare un repository sul mio pc Windows e mi piacerebbe usare SmartGit per questo.SmartGit non si autentica con ssh

Ma ho già trascorso diverse ore solo per clonare il pronti contro termine tramite Smartgit. Come Git remoto uso l'url che normalmente userei sul server: me @ mio-server: the-repo poi dopo un po 'ottengo una finestra di dialogo' SSH Authentication 'e seleziono la mia chiave privata, come farei per pagent e inserisci la mia passphrase. Ma quando faccio il login, cerco di connettermi per un po 'e poi mi mostra di nuovo la finestra di dialogo' Autenticazione SSH '. Nessun messaggio di errore o altro

Ho provato a clonare il repository con gli stessi dati tramite la riga di comando e funziona perfettamente. Quindi c'è qualcosa che mi manca?

risposta

19

Necessario per salvare la mia chiave privata ssh come chiave OpenSSH in PuTTYgen perché SmartGit solo capisce quel formato.

+1

Dove salvarlo? – zygimantus

+1

È strano, ma se fai clic su PuTTYgen * "Salva chiave privata" * o * "Salva chiave pubblica" * non funzionerà. È necessario salvare tramite il menu * Conversioni → Esporta chiave OpenSSH *. Questo file verrà accolto – Adobe

13

Sì, è tutto!

Voglio solo andare in dettagli per aiutare i più partendo da zero:

sulle finestre che si può fare la procedura foollowing:

  1. msysgit Installa da Here
  2. Per generare pubblico/privato la coppia di chiavi come necessario da molti server git (come Assembla) usa PuTTYgen che trovi here: clicca su Genera e spostare il mouse finché non viene indicato che la chiave è stata generata. Facoltativamente, inserire una passphrase per proteggere la chiave privata
  3. Salva o copiare la chiave pubblica al vostro bisogno
  4. Salva chiave privata da utilizzare con SmartGit usando la voce di menu Conversioni/Export OpenSSH chiave
  5. Usa l'ultimo file di autenticarsi in SmartGit
4

Ho trovato più facile cambiare SmartGit | Preferenza | Comandi | Eseguibili da utilizzare "C: \ Programmi (x86) \ Git \ bin \ git.exe", quindi impostare GIT_SSH = plink nel sistema env.

1

Se si desidera utilizzare stucco come client ssh, si prega di seguire le istruzioni riportate di seguito:

  1. Modifica | Preferenze | Commenti | Autenticazione, scegliere Use System SSH Client
  2. In variabili di sistema di Windows, impostare GIT_SSH = plink (dove posizione plink.exe di stucco)

Dopo di che, si prega di utilizzare spettacolo e caricare la chiave privata

1

Se si utilizza SmartGit su MacOS X, questo problema causa la visualizzazione di una finestra di dialogo inaspettata nel Finder: "SSH - Enter passphrase for key '/Users/username/.ssh/id_rsa':" e viene visualizzata quando viene avviato SmartGit.Ecco come si presenta:

SmartGit SSH passphrase prompt

È strano e confuso come si presenta come una finestra del Finder, senza alcun riferimento a tutti di SmartGit. Solitamente è causato dalla mancata memorizzazione della password della chiave SSH nell'app Accesso Portachiavi. Ecco dove SmartGit lo cercherà. Avrete bisogno di aggiungere in là, utilizzando queste guide: