2011-07-19 17 views
5

W tej chwili mam jeden repo git dodane przez gitosis. Instrukcja użyłem jest http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-wayJak dołączyć ssh prywatny klucz RSA podczas uzyskiwania dostępu do repozytorium git za pośrednictwem ssh (gitosis)?

  1. mogę sklonować go i wcisnąć w nią poprzez ssh auth z prywatnych i publicznych kluczy (na Gentoo), ale użytkownicy Windows, które używają rozszerzenia Git nie może. Klucze SSH umieszczone w $ HOME/.ssh, a ssh prosi o podanie hasła. Hasło ani hasło, ani hasło (z prywatnego klucza ssh) nie pasują do siebie.

  2. Redmine potrzebuje do gołego repo, więc sklonowane repo z gitosis na moim lokalnym komputerze i przenieść go do serwera (Redmine + git), a następnie próbował zsynchronizowane jak pokazał tutaj http://www.redmine.org/projects/redmine/wiki/HowTo_keep_in_sync_your_git_repository_for_redmine Ale to prosi o Hasło ponownie! Oczywiście, że nie uczynił apache jego własne klucze SSH do dopuszczonego gitosis = _ = (Apache jest właścicielem Redmine gołej repo, bo to do niego dostęp za pośrednictwem protokołu HTTP auth)

W każdym razie chodzi o to, jak używać prywatnego klucza ssh z pliku podczas uzyskiwania dostępu do gitosis?

===

Częściowo rozwiązany! generuje klucze, których nazwy to dokładnie id_rsa i id_rsa.pub. jeśli uruchomić ssh -vvv [email protected] powinieneś zobaczyć coś podobnego do

debug1: Authentications that can continue: publickey,keyboard-interactive 
… 
debug3: authmethod_is_enabled publickey 
debug1: Next authentication method: publickey 
debug1: Offering RSA public key: [email protected] 
debug3: send_pubkey_test 
debug2: we sent a publickey packet, wait for reply 
debug1: Authentications that can continue: publickey,keyboard-interactive 
debug1: Trying private key: /home/user/.ssh/id_rsa 
debug3: no such identity: /home/user/.ssh/id_rsa 
debug1: Trying private key: /home/user/.ssh/id_dsa 
debug3: no such identity: /home/user/.ssh/id_dsa 
debug1: Trying private key: /home/user/.ssh/id_ecdsa 
debug3: no such identity: /home/user/.ssh/id_ecdsa 
debug2: we did not send a packet, disable method 
debug3: authmethod_lookup keyboard-interactive 

Tak, klient ssh chce dokładnie nazwach plików lub przejdzie do następnej metody auth (hasło). I teraz przemianowany klucze na moim komputerze domowym oraz:

[email protected] ~ $ git clone ssh://[email protected]/reponame.git 
Cloning into reponame... 
Enter passphrase for key '/home/user/.ssh/id_rsa': 

Hurra, to prosi o hasłem! BTW, użytkownicy ШIИDOШS ™ nadal mają problemy z dziesiątkami wygenerowanych kluczy.

Upd

Jeśli używasz OpenSSH, wtedy w ~/.ssh można utworzyć plik o nazwie 'config' i umieścić tam coś takiego:

Host mygitosisserver.com 
IdentityFile ~/.ssh/private-key-for-mygitosisserver-com 

Odpowiedz

4

użytkownicy Windows powinni móc sklonować również (z ssh), , jeśli zdefiniowano zmienną środowiskową% HOME%.
DOM nie jest domyślnie zdefiniowany.
Można odwołać się do dowolnego katalogu chcą (zwykle jeden zajmuje to samo niż %HOMEPATH%)


W OP user685107 raporty:

Problem z użytkownikami Windows został rozwiązany przez ściśle według jego instrukcji obsługi generowania kluczy z puttygen.
nowa para kluczy maked w oknach działa dobrze

+0

To dlatego, że tam jest git.cmd (rodzaj wstępnej inicjalizacji w Git Extensions) z '@if nie istnieje "%%" HOME @SET HOME =% HOMEDRIVE% % HOMEPATH% ', więc% HOME% jest ustawiony w środowisku git. Nadal, jak importować klucze ssh? Wróciłem do domu i umieściłem klucze ssh ze stacji roboczej do ~/.ssh, próbując sklonować 'git clone ssh: // git @ my_host/gitosis-admin.git' i złapałem prośbę o podanie hasła (zwykle okno z prośbą o _passphrase_). – tijagi

+0

@ user685107: wydaje się normalne, jeśli wygenerowałeś swój klucz prywatny z hasłem. W takim przypadku: http://stackoverflow.com/questions/370030/git-cant-remember-my-passphrase lub http://stackoverflow.com/questions/6106137/git-enter-long-passphrase-for-every- push – VonC

+0

Oczywiście klucze zostały wygenerowane z hasłami. Ale Putty sprawia, że ​​klucze są niekompatybilne z serwerem OpenSSH. Więc wygenerowałem je na tym samym serwerze dla użytkowników Windows ™. Nie stanowią problemu, z wyjątkiem tego, że połączenie zawsze prosi o podanie ** hasła zamiast hasła ** – tijagi