2013-09-07 10 views
5

Istnieje wiele precyzyjnych instrukcji dotyczących pracy z gitem pod oknami za pomocą GitBash.ssh uwierzytelniony dostęp git w wierszu polecenia systemu Windows?

Zauważam, że gdy git jest zainstalowany, oferuje opcję "skonfigurowania do używania git z okna zachęty", co umieszcza git na ścieżce okna.

Czy jest jakiś sposób ustawienia tego, aby uwierzytelnianie ssh działało?

W tej chwili otrzymuję "Odmowa uprawnień (publickey)", gdy próbuję wykonać polecenia git, które uzyskują dostęp do pilota.

(edycja) Ustawiłem% HOME% tak, aby wskazywało na mój katalog domowy Windows, i tam jest folder .ssh z plikami id, które działają pod powłoką gitbash.

Doceniam, że odpowiedź jest prawdopodobnie "nie, dlatego GitBash istnieje". Ale dobrze byłoby wiedzieć na pewno.

Jeśli odpowiedź brzmi "nie", to sprawia, że ​​zastanawiasz się, dlaczego nie zawracasz sobie głowy umieszczaniem git na ścieżce okna?

+0

Nie rozumiem twojego pytania? Dlaczego nie byłoby dobrze mieć 'git' na ścieżce Windowsa?Lubisz wpisywać całą ścieżkę do git za każdym razem, gdy wprowadzasz zmiany? – PeeHaa

+1

Myślę, że ten punkt jest na bok do głównego pytania. Myślałem, że jeśli musisz używać gitbash do uruchamiania komend uzyskujących dostęp do repozytorium za pomocą ssh (co jest moim bieżącym problemem), to znaczy, że będziesz cały czas korzystał z gitbash, a nie z konsoli Windows. W przeciwnym razie wydaje się, że będziesz wykonywał jakąś pracę git w linii poleceń Windows i innych w gitbash (czego właśnie staram się unikać). – GreenAsJade

Odpowiedz

3

Dostęp do ssh działa dobrze podczas zwykłej sesji DOS.
Należy tylko zdefiniować C:\Users\YourAccount\.ssh i dodać tam swoje id_rsa i id_rsa.pub.

Uruchom swoją sesję git przez git-cmd.bat, która zdefiniuje %HOME% do twojej : to właśnie spowoduje, że ssh będzie działać.

Powinno to spowodować umieszczenie instalacji msysgit/bin w zmiennej PATH.

Naprawdę polecam nie instalacji przez MSI (Microsoft Installer), ale przez zwykłą rozpakuj archiwum (portable version "PortableGit-x.y.z-preview201ymmdd.7z")

a OP GreenAsJade „s comment zwraca uwagę na fakt, że GIT_SSH musi wskazywać plink.exe .

+0

Dzięki za odpowiedź! Wspaniale jest wiedzieć, że to powinno działać. Mam katalog .ssh w moim katalogu domowym i ma on w nim pliki id_rsa i id_rsa.pub. Działają one, gdy używam git w powłoce gitbash. Ustawiłem% HOME% tak, aby wskazywało na mój katalog domowy, ale nadal polecenia git dają "Odmowa uprawnień (klucz publiczny)". Jakieś inne pomysły? Zauważ, że w powłoce gitbash konieczny jest plik .bashrc, który uruchamia się i jest agentem ssh. Zastanawiam się, czy tego właśnie brakuje w wierszu polecenia systemu Windows? – GreenAsJade

+0

@GreenAsJade tak, ale czy widzisz '% HOME%' zdefiniowany? Co oznacza zestaw 'HOME' w sesji DOS. Jeśli wykonałeś 'git-cmd.bat', to' HOME' powinien być poprawnie ustawiony, a '% HOME%/.shsh powinien istnieć. – VonC

+0

@GreenAsJade dla agenta: http://stackoverflow.com/a/10169412/6309 – VonC

-2

Cóż, może mam proces, który wydaje się działać.

Jeśli użyjesz hasła podczas generowania kluczy, będziesz musiał wpisać to hasło po załadowaniu ssh-agenta i dodać klucz do agenta.

Zasadniczo, rozwiązanie jest: postępować zgodnie z instrukcjami na tej stronie:

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

ALE, podczas generowania kluczy nie należy wpisywać hasło.

Jest oczywiście "słabszy" z punktu widzenia bezpieczeństwa.

Ale skrypt .bashrc będzie działał zgodnie z oczekiwaniami (ładowanie tożsamości podczas uruchamiania git bash).

Można wtedy użyć skryptu "start-ssh-agent.cmd" znajdującego się w folderze Git \ cmd. Otworzy się podpowiedź Dos z wczytaną tożsamością i wszystko będzie działać!

Powiązane problemy