2012-03-26 16 views
5

Mi scuso in anticipo per la domanda di base - Sono nuovo di git e sono sicuro che mi manca qualcosa di super facile che qualcuno possa rispondere molto rapidamente.Configurare msysgit per usare mastice/plink

Durante l'installazione di msysgit ho specificato che mi piacerebbe utilizzare PLink al posto di OpenSSH come programma client shell sicuro. La variabile di ambiente 'GIT_SSH' è impostata su 'C: \ Programmi (x86) \ PuTTY \ plink.exe', che è il percorso corretto per plink. Ho provato con e senza virgolette. "echo $ GIT_SSH" dal prompt di bash visualizza il valore corretto per la variabile di ambiente. Sono anche in grado di connettermi a github tramite SSH usando stucco senza problemi.

Dopo aver avviato il paging e aggiunto la mia chiave privata, ho aperto una nuova finestra git bash e ho tentato di connettermi a github (github ha già la mia chiave pubblica ed è configurato correttamente - sto usando il progetto jquery come test rapido) . Nonostante specifichi che voglio usare PLink e apparentemente ho impostato le variabili d'ambiente corrette, msysgit sta ancora tentando di usare i file chiave trovati nella directory ~/.ssh.

Ho confermato questo mettendo effettivamente la mia chiave privata in quella directory e tutto funziona perfettamente (sono stato in grado di clonare il repository jquery senza alcun problema), ma mi piacerebbe davvero avere questo set up così Posso gestire le mie chiavi private attraverso lo stucco, se possibile.

Non proprio sicuro di ciò che mi manca .. Qualsiasi aiuto è molto apprezzato - grazie in anticipo!

risposta

6

Ho avuto problemi simili e la soluzione è che devi usare "plink" e non "ssh".

Così i seguenti comandi (dal prompt bash) dovrebbe funzionare per voi (supponendo che l'installazione hai un GitHub SSH key):

$ echo $GIT_SSH 
C:\Program Files (x86)\PuTTY\plink.exe 

$ "$GIT_SSH" -V 
plink: Release 0.62 

$ "$GIT_SSH" -ssh [email protected] 
Using username "git". 
Server refused to allocate pty 
Hi [your-github-username]! You've successfully authenticated, but GitHub does not provide s 
hell access. 

Se basta eseguire "$GIT_SSH" allora stamperà gli argomenti che è possibile uso. Il comando -ssh obbliga PuTTY a utilizzare il protocollo ssh.

Se hai C:\Program Files (x86)\PuTTY\ nel PATH allora si dovrebbe solo essere in grado di eseguire plink -ssh [email protected]

La ragione di ciò è che il comando ssh utilizza OpenSSH e OpenSSH non riconosce le chiavi stucco.

plink.exe è in realtà menzionato nella prima soluzione nel most up voted answer for Git/PuTTY configuration questions, è solo difficile da individuare.

1

Per me la soluzione è stata che il percorso doveva essere specificato in stile Linux, in questo modo:

set GIT_SSH=/c/PuTTY/plink.exe 

che era abbastanza confusa dal momento che sto impostando la variabile d'ambiente nella sintassi di Windows, ma il valore è un Linux percorso di stile.

punto chiave è:

echo $GIT_SSH 
C:\Program Files (x86)\PuTTY\plink.exe <-- not a valid path in bash shell 
Problemi correlati