W przypadku nieskazitelnej instalacji systemu Windows 7 Enterprise:
- Zainstaluj PuTTY 0.62
- Utwórz parę kluczy publiczny / prywatny za pomocą puttygen.exe
- Dodaj klucz publiczny do wklejenia do kluczy autoryzowanych OpenSSH do konta github
- Dodaj klucz prywatny do widowiska
- Zainstaluj msysgit 1.7.8 z następującymi opcjami:
- Użyj Git z wiersza polecenia systemu Windows
- Użyj (Tortoise) Plink wskazał na poprawny plik plink.exe
- Upewnij się, że odcisk palca github został dodany do know_hosts, łącząc się z github.com w PuTTY i akceptując odcisk palca
Edytuj,
~/.ssh/config
aby przeczytać:Host github.com User git Hostname github.com PreferredAuthentications publickey IdentityFile ~\.ssh\github.ppk
ssh -vvvT [email protected]
daje: http://pastebin.com/Tu3Fc6nJ . Zauważ, że pojawia się monit o hasło, mimo że zostało pomyślnie załadowane do widowiska.
Próbowałem: chmod 700 ~/.ssh; chmod 600 ~/.ssh/*
z poziomu Git Bash, ale nie było żadnego efektu potwierdzonego przez ls -l
.
Powinienem zauważyć, że miałem dokładnie tę konfigurację działającą na poprzedniej instalacji systemu Windows 7. O ile mogę powiedzieć, wszystko jest identyczne.
To, co działa, to generowanie kluczy z Git Bash. Nie mogę jednak dodać tych kluczy do widowiska, co jest ogromnym bólem. W efekcie wydaje się, że każda próba użycia kluczy wygenerowanych przez PuTTY kończy się niepowodzeniem.
Masz jakiś wgląd w to, co uniemożliwia to działanie w oparciu o dzienniki? Z góry dziękuję.
Odpowiedzi:
Mylisz dwa całkowicie odrębne programy: PuTTY i OpenSSH.
plink
i Pageant są częścią PuTTY.ssh
Komenda jest częścią OpenSSH. Nie jest jasne, z którego programu korzysta Git; w tym celu musisz sprawdzić%GIT_SSH%
zmienną środowiskową.Programy używają różnych protokołów agentów; OpenSSH nie może używać Pageant PuTTY; ma swój własny
ssh-agent
(co niestety jest nieco skomplikowane w systemie Windows).PuTTY i
plink
przechowuj ustawienia sesji w rejestrze, edytowalne w interfejsie PuTTY. Nie używają niczego~/.ssh/
; ten katalog jest używany tylko przez OpenSSH.Formaty kluczy prywatnych używane przez OpenSSH i PuTTY są różne; nie możesz używać
.ppk
klucza w OpenSSH. Jeśli wygenerowałeś klucz w PuTTYgen, musisz użyć jego polecenia „Eksportuj → OpenSSH”.źródło
plink
nie obsługuje formatu klucza OpenSSH. Jeśli twoja wersja tak, to nieplink
używasz; to coś innego.ssh
prosi o podanie hasła, mimo że został załadowany do Pageant”. Ci są mylące dwa programy.~/.ssh/config
nie jest używany przez PuTTY. Chciałbym jednak powtórzyć, że GIT_SSH wskazuje na połączenie, a jednak jeśli zmodyfikuję plik konfiguracyjny ssh dla OpenSSH, zmiany zostaną odzwierciedlone w Git Bash podczas próby połączenia z github. Zasadniczo uważam, że zmienna środowiskowa GIT_SSH jest ignorowana i przypuszczam, że jest to coś specyficznego dla mojego systemu operacyjnego. Spróbuję jutro świeży obraz.Przygotowałem przewodnik krok po kroku, aby uzyskać konfigurację Git dla systemu Windows za pomocą aplikacji PlT PuTTY do uwierzytelniania SSH.
Śledź poniżej:
Ustawiać
Zainstaluj putty.zip, który jest dostępny na stronie pobierania PuTTY lub możesz pobrać osobno.
PuTTY: putty.exe (lub przez FTP )
Sam klient SSH i Telnet.
Plink: plink.exe (lub przez FTP )
Interfejs wiersza poleceń do zaplecza PuTTY.
Pageant: pageant.exe (lub przez FTP )
Agent uwierzytelniania SSH dla PuTTY, PSCP, PSFTP i Plink.
PuTTYgen: puttygen.exe (lub przez FTP )
Narzędzie do generowania kluczy RSA i DSA.
Generuj klucze RSA i PPK
ssh-keygen
do wygenerowania pary kluczy publicznych / prywatnych RSA. Więcej informacji o tym, jak to zrobić, można znaleźć w oficjalnym artykule Generowanie kluczy SSH .~/.ssh/id_rsa
(prywatny) klucz za pomocą Conversions→ Import key.~/.ssh/id_rsa.ppk
.Powinieneś teraz mieć następujące klucze w swoim
~/.ssh
katalogu:id_rsa
: Prywatny klucz RSA (OpenSSH)id_rsa.pub
: Klucz publiczny RSA (OpenSSH)id_rsa.ppk
: Klucz prywatny (PuTTY)Zainstaluj Git dla Windows .
Upewnij się, że zdecydowałeś się użyć Plink.
Uwaga: Jeśli masz już zainstalowany Git, możesz po prostu ponownie uruchomić instalator i ustawić Plink jako domyślną aplikację SSH.
Ustaw ścieżki środowiska.
Dodaj następujące zmienne systemowe (jeśli nie zostały jeszcze ustawione):
GIT_HOME
:C:\Program Files\Git
GIT_SSH
:C:\Program Files (x86)\PuTTY\plink.exe
Dołącz katalog binarny Git do ścieżki systemowej.
Path
:%Path%;%GIT_HOME%\bin
Otwórz Pageant i załaduj klucz ppk znajdujący się pod adresem
~/.ssh/id_rsa.ppk
.Uwaga: Po uruchomieniu programu Pageant możesz kliknąć jego ikonę na pasku zadań znajdującym się na pasku zadań obok godziny po prawej stronie.
Otwórz Putty i połącz, aby przetestować połączenie przez SSH i dodać klucz serwera jako znany host.
Przykłady nazw hostów:
[email protected]:22
(lub przez ssh-agentssh -Tv [email protected]
)[email protected]:22
(lub przez ssh-agentssh -Tv [email protected]
)Uruchom Git Bash.
Powinieneś być w stanie pchać i pobierać ze swojego zdalnego hosta bez podawania hasła za każdym razem.
Skrót
Możesz umieścić skrót w katalogu startowym, aby automatycznie ładować klucz przy każdym logowaniu do konta Windows.
Przez skrypt wsadowy
Pomysł ten został zainspirowany odpowiedzią na to pytanie:
Za pomocą Eksploratora Windows
Przejdź do katalogu startowego w Eksploratorze Windows.
Startup/
Katalog użytkowników (preferowany) znajduje się w:Startup/
Katalog wszystkich użytkowników znajduje się w:Kliknij folder prawym przyciskiem myszy i wybierz New→Shortcut
W oknie dialogowym Utwórz skrót wprowadź następujące informacje.
"C:\Program Files (x86)\PuTTY\pageant.exe"
Pageant Autoload
Kliknij nowy skrót prawym przyciskiem myszy i wybierz Propertiesz menu kontekstowego.
Zmodyfikuj następujące pola w zakładce Skrót :
"%PROGRAMFILES(x86)%\PuTTY\pageant.exe" id_rsa.ppk
%USERPROFILE%\.ssh
Uwagi:
Jeśli używasz 32-bitowego systemu operacyjnego Windows, powinieneś użyć
%PROGRAMFILES%
zmiennej środowiskowej zamiast%PROGRAMFILES(x86)%
.Jeśli umieściłeś skrót w katalogu startowym Wszyscy użytkownicy, upewnij się, że bieżący użytkownik ma
id_rsa.ppk
klucz w swoim~/.ssh
katalogu lub klucz nie zostanie załadowany automatycznie.Uwagi końcowe
Masz to. Następnym razem, gdy zalogujesz się do swojego profilu systemu Windows, zostanie wyświetlony monit Pageant o podanie hasła do klucza. Jeśli nie ustawiłeś hasła do klucza, klucz powinien zostać załadowany automatycznie bez monitu.
Jeśli nie masz pewności, czy klucz został załadowany, wyświetl bieżące klucze w programie Pageant, wybierając opcję Wyświetl klucze z menu kontekstowego programu Pageant na pasku zadań.
źródło
W prostym angielskim
PuTTYgen można zbudować inny kluczy, Github chce SSH1-RSA (?, Ja używać klawiszy SSH2 z Korowód na github)
Dodaje
Zobacz także ten post dotyczący debugowania problemów z widowiskami w Github
źródło