2013-09-07 11 views
5

Ci sono molte belle istruzioni su come lavorare con git sotto Windows usando GitBash.accesso git autenticato da ssh al prompt dei comandi di Windows?

Ho notato che quando git è installato, offre l'opzione "imposta per usare git dal prompt di windows", che mette git sul percorso di Windows.

C'è un modo per configurarlo in modo che l'autenticazione ssh funzioni?

Al momento ottengo "autorizzazione negata (chiave pubblica)" quando provo a eseguire comandi git che accedono al telecomando.

(modifica) Ho impostato% HOME% per puntare alla mia home directory di Windows, e c'è una cartella .ssh lì con i file id che funzionano sotto una shell gitbash.

Apprezzo che la risposta sia probabile "no, questo è il motivo per cui GitBash esiste". Ma - sarebbe bello saperlo con certezza.

Se la risposta è "no", questo ti fa chiedere perché ti preoccuperai di mettere git sul tuo percorso Windows?

+0

Non capisco la tua domanda? Perché non sarebbe una buona idea avere 'git' nel percorso di windows ??Ti piace digitare l'intero percorso per git ogni volta che si commettono modifiche? – PeeHaa

+1

Immagino che questo punto sia un accenno alla domanda principale. Stavo pensando che se devi usare gitbash per eseguire comandi che accedono al repository usando ssh (che è il mio problema attuale), allora questo significa che stai usando gitbash tutto il tempo, piuttosto che una console di windows. Altrimenti sembra che tu stia facendo un po 'di lavoro git nella riga di comando di Windows e altri in gitbash (che è quello che sto cercando di evitare). – GreenAsJade

risposta

3

accesso ssh funziona bene da una sessione DOS regolare.
Devi solo definire C:\Users\YourAccount\.ssh e aggiungere il tuo id_rsa e id_rsa.pub lì.

Avvia la tua sessione git tramite git-cmd.bat, che definirà %HOME% sul tuo C:\Users\YourAccount: questo è ciò che farà ssh funzionare.

Questo dovrebbe mettere l'installazione di msysgit/bin nel PERCORSO.

Consiglio vivamente non l'installazione attraverso un MSI (Microsoft Installer), ma attraverso una semplice decompressione di un archivio (portable version "PortableGit-x.y.z-preview201ymmdd.7z")

E 's la OP GreenAsJadecomment punti il ​​fatto che GIT_SSH deve puntare a plink.exe .

+0

Grazie per la tua risposta! È bello sapere che questo dovrebbe funzionare. Ho una cartella .ssh nella mia directory home e contiene i file id_rsa e id_rsa.pub. Funzionano quando uso git nella shell gitbash. Ho impostato% HOME% in modo che punti alla mia directory home, ma i comandi git continuano a fornire "autorizzazione negata (chiave pubblica)". Altre idee? Nota che nella shell gitbash, è necessario avere un .bashrc che inizi e ssh agent. Mi chiedo se questo è ciò che manca per il prompt dei comandi di Windows? – GreenAsJade

+0

@GreenAsJade sì, ma vedi '% HOME%' definito? Cosa restituisce un set 'HOME' nella sessione DOS. Se hai eseguito 'git-cmd.bat', allora' HOME' dovrebbe essere impostato correttamente, e '% HOME% /. Ssh' dovrebbe esistere. – VonC

+0

@GreenAsJade per l'agente: http://stackoverflow.com/a/10169412/6309 – VonC

-2

Beh, forse ho un processo che sembra funzionare.

Se si utilizza una passphrase durante la generazione delle chiavi, è necessario digitare questa passphrase dopo aver caricato un agente ssh e aggiungere la chiave all'agente.

In sostanza, la soluzione è: seguire le istruzioni in questa pagina:

https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html

MA, durante la generazione delle chiavi non si digita una frase di accesso.

Ovviamente, è "più debole" dal punto di vista della sicurezza.

Tuttavia, lo script .bashrc funzionerà come previsto (caricamento dell'identità all'avvio di git bash).

È possibile utilizzare quindi lo script "start-ssh-agent.cmd" che si trova nella cartella Git \ cmd. Si aprirà un prompt Dos con l'identità caricata e tutto funzionerà!

Problemi correlati