2013-08-29 12 views
7

Chciałbym wiedzieć, jaki jest najlepszy sposób połączenia z repozytorium GitHub między HTTPS i SSH. Widocznie GitHub wydaje polecić HTTPS przez SSH:Używanie HTTPS lub SSH z GitHubem

Jeśli zdecydowaliśmy się nie używać zalecanej metody HTTPS, możemy użyć kluczy SSH do ustanowienia bezpiecznego połączenia między komputerem a GitHub. Poniższe kroki przeprowadzą Cię przez generowanie klucza SSH, a następnie dodawanie klucza publicznego do konta GitHub.

Jednak nie widzę powodu, dla którego HTTPS byłby lepszy niż SSH. SSH powinien być bezpieczniejszy niż normalnie HTTPS. Dlaczego GitHub zalecałby HTTPS?

+1

To jest bardziej wydajne, podobno. Jest dobry artykuł na ten temat w [Pro Git] (http://git-scm.com/2010/03/04/smart-http.html) –

+0

Czy to znaczy, że powinienem raczej używać HTTPS przez SSH? –

Odpowiedz

6

https jest łatwiejszy w użyciu niż ssh.

Z ssh, trzeba:

  • generowania kluczy publiczny/prywatny
  • opublikowania go na GitHub
  • uruchomienie (jeśli naprawdę chcesz zabezpieczeń) ssh-agenta, aby wprowadzić hasło cię skojarzyłoby się z twoim kluczem prywatnym.

https ponownie wykorzystaj dane logowania GitHub, które już posiadasz.
Jeśli nie chcesz podawać swojego hasła GitHub dla każdego polecenia git, możesz zapisać te poświadczenia w zaszyfrowanej (lub %HOME%/_netrc.gpg w oknach).
Zobacz pełny przykład "krok po kroku" pod adresem "Is there a way to skip password typing when using https:// github".

przechowywać że drogę kilka poświadczeń (na GitHub, BitBucket, repo wewnętrznych, ...) w jednym pliku (szyfrowany) i wpisuję jeden hasło (hasło gpg) raz rano .
Mogę wtedy uzyskać dostęp do wszystkich tych transakcji bez konieczności wpisywania swoich danych uwierzytelniających w ciągu dnia.

+0

HTTPS jest łatwiejszy, ale co z bezpieczeństwem? –

+0

@ user2429940 tego samego rodzaju zabezpieczenia, o ile nie zostawisz swojego hasła w zwykłym pliku tekstowym. Właśnie dlatego szyfrowanie gpg, o którym wspomniałem w http://stackoverflow.com/a/18362082/6309, jest tak ważne. – VonC

+0

@ user2429940, aby uzyskać więcej informacji: http://security.stackexchange.com/questions/1599/what-is-the-difference-between-ssl-vs-ssh-which-is-more-secure – VonC

11

Dostałem odpowiedź od GitHub:

Polecamy https ponieważ jest znacznie prostsze w instalacji i nie wymaga wiedzy i bezpieczne zarządzanie kluczami ssh.

Ponieważ zarówno ssh, jak i https używają ssl za kulisami, korzyści wynikające z żądania dostępu do klucza prywatnego zamiast poświadczeń logowania zachowane są tylko wtedy, gdy klucze te są zarządzane bezpiecznie. Dla tych, którzy nie znają najlepszych praktyk dotyczących kluczy ssh, często jest to trudniejsze do wyjaśnienia, niż pozwolenie im na zachowanie danych logowania loginname/passhprase przy użyciu procedur, które już znają. Są tam zalecenia, więc ci, którzy nie mają mocnej opinii w żaden sposób, mogą wybrać najbardziej prostą metodę. Każdy, kto woli klucze ssh, może to zrobić, ponieważ są w pełni obsługiwane.

+0

Więc ... w zasadzie ten sam ogólny pomysł niż moja odpowiedź? – VonC

+0

Ya, racja. Czek. –

Powiązane problemy