2013-09-06 12 views
7

W moim dokumencie Microsoft.PowerShell_profile.ps1, musiałem dodać ssh-add ~/.ssh/github_rsa po przykładach poshgit, aby połączyć się z moimi repozytoriami GitHub.Dlaczego muszę uruchomić `ssh-add` w moim profilu Powershell?

# Load posh-git example profile 
. 'C:\tools\poshgit\dahlbyk-posh-git-8aecd99\profile.example.ps1' 

ssh-add ~/.ssh/github_rsa 

Jeśli nie mam tego w moim profilu, Github daje mi błędy uprawnień podczas próby połączenia.

Jeśli zrobię to ręcznie, będzie działać przez cały czas mojej sesji na pulpicie, ale zaraz po ponownym uruchomieniu komputera muszę ponownie uruchomić polecenie.

Dlaczego nie poshgit i ssh-add pamiętasz RSA, które dodałem? Wydaje się, że nie trzeba go ponownie dodawać za każdym razem.

Odpowiedz

20

To dlatego, że klucz RSA nie jest nazwą domyślną (id_rsa), więc musisz użyć ssh-add (który dodaje go do działającej usługi, która zapamiętuje klucz odszyfrowany za pomocą hasła) lub po prostu dodać wpis do swojego ~\.shh\config

~\.ssh\config (tworzyć lub edytować):

Host github.com 
    HostName github.com 
    User git 
    IdentityFile ~/.ssh/github_rsa 

lub, jeśli github jest jedyną rzeczą, jaką można użyć kluczy sSH, wystarczy zmienić nazwę klucza do id_rsa a następnie git (dobrze ssh.exe) znajdzie dla ciebie automatycznie AND poshgit ssh-add it for you (do obsługi fraz).

+0

ah, to ma sens. Nie jest to mój jedyny klucz, ponieważ używam dwóch różnych instancji GitBlit również do celów biznesowych. –

+0

Działa świetnie. Zmieniłem też nazwę 'github_rsa' na' id_rsa_github', ponieważ z jakiegoś powodu ta druga metoda nie zadziałałaby ... –

+0

@Chase Florell miałeś na myśli zmianę nazwy na id_rsa – tofutim

Powiązane problemy