Próbuję pracować z moimi rzeczywistymi repozytoriami „roboczymi” i osobistymi repozytoriami w git hub z mojego komputera.
Konto robocze zostało utworzone jako pierwsze i wszystko działa bezbłędnie.
Moje konto osobiste nie może jednak przesyłać do mojego osobistego repozytorium, które jest skonfigurowane pod innym kontem / adresem e-mail.
Próbowałem skopiować mój klucz do pracy na konto osobiste, ale generuje to błąd, ponieważ klucz można oczywiście przypisać tylko do jednego konta.
Jak mogę wypychać / wyciągać dane z obu kont na podstawie odpowiednich poświadczeń github?
git
version-control
github
Kevin Whitaker
źródło
źródło
ssh-add ~/.ssh/id_rsa_COMPANY
<br/> aby poinformować ssh-agenta, aby podał go do użycia. <hr /> Rest działa dla mnie dobrze z wyżej wymienionym samouczkiem.Odpowiedzi:
Wszystko, co musisz zrobić, to skonfigurować konfigurację SSH z wieloma parami kluczy SSH.
Ten link jest łatwy do naśladowania (Dzięki Eric): http://code.tutsplus.com/tutorials/quick-tip-how-to-work-with-github-and-multiple-accounts--net-22574
Generowanie kluczy SSH (Win / msysgit) https://help.github.com/articles/generating-an-ssh-key/
Ponadto, jeśli pracujesz z wieloma repozytoriami przy użyciu różnych osób, musisz upewnić się, że w poszczególnych repozytoriach ustawienia użytkownika zostały odpowiednio zastąpione:
Ustawianie nazwy użytkownika, adresu e-mail i tokena GitHub - Przesłanianie ustawień dla poszczególnych repozytoriów https://help.github.com/articles/setting-your-commit-email-address-in-git/
Mam nadzieję że to pomoże.
Uwaga: niektórzy z was mogą wymagać użycia różnych e-maili dla różnych repozytoriów, od git 2.13 możesz ustawić e-maile na podstawie katalogu, edytując globalny plik konfiguracyjny znajdujący się pod adresem:
~/.gitconfig
używając warunkowych takich jak:A następnie konfiguracja specyficzna dla pracy ~ / work / .gitconfig wyglądałaby następująco:
Dziękuję @alexg za poinformowanie mnie o tym w komentarzach.
źródło
Użyj HTTPS:
zmień zdalny adres URL na https:
i jesteś gotowy, aby przejść:
Aby upewnić się, że wyglądają jak rewizje przeprowadzane przez nazwę użytkownika, jednej konfiguracji może user.name i user.email dla tego projektu, za:
źródło
user.name
iuser.email
z--global
flagą, tylko robić to, co mówi powyżej, aby ustawić go lokalnie tylko, że jednym repo. To rozwiązało wiele problemów. Teraz usuń stare repo ....Nabierać formy
Aby zarządzać repozytorium git pod osobnym kontem github / bitbucket / cokolwiek, wystarczy wygenerować nowy klucz SSH.
Ale zanim zaczniemy pchanie / ciągnięcie repo z drugiej tożsamości, muszę się dostać się do kształtu - załóżmy, Twój system jest skonfigurowany z typowym
id_rsa
iid_rsa.pub
pary kluczy. W tej chwili twójtree ~/.ssh
wygląd wygląda takNajpierw nazwij tę parę kluczy - dodanie opisowej nazwy pomoże ci zapamiętać, który klucz jest używany dla danego użytkownika / pilota
Następnie wygenerujmy nową parę kluczy - tutaj nazwiemy nowy klucz
github-otheruser
Teraz, kiedy patrzymy
tree ~/.ssh
, widzimyNastępnie musimy ustawić
~/.ssh/config
plik, który zdefiniuje nasze kluczowe konfiguracje. Stworzymy go z odpowiednimi uprawnieniami tylko do odczytu / zapisu właścicielaOtwórz to za pomocą swojego ulubionego edytora i dodaj następującą zawartość
Przypuszczalnie będziesz mieć kilka istniejących repozytoriów powiązanych z twoją podstawową tożsamością github. Z tego powodu „domyślny” github.com
Host
jest skonfigurowany do używania twojegomainuser
klucza. Jeśli nie chcesz faworyzować jednego konta nad drugim, pokażę ci, jak zaktualizować istniejące repozytoria w systemie, aby użyć zaktualizowanej konfiguracji ssh.Dodaj nowy klucz SSH do github
Wejdź na github.com/settings/keys, aby dodać nowy klucz publiczny
Możesz pobrać zawartość klucza publicznego za pomocą: skopiuj / wklej ją do github
Teraz twoja nowa tożsamość użytkownika jest skonfigurowana - poniżej pokażemy ci, jak z niej korzystać.
Wykonanie rzeczy: klonowanie repozytorium
Więc jak to działa w połączeniu z git i github? Ponieważ nie możesz mieć kurczaka i jajka, przyjrzymy się klonowaniu istniejącego repozytorium. Ta sytuacja może dotyczyć Ciebie, jeśli masz nowe konto github dla swojego miejsca pracy i zostałeś dodany do projektu firmowego.
Powiedzmy, że
github.com/someorg/somerepo
już istnieje i zostałeś do tego dodany - klonowanie jest tak proste, jakTa pogrubiona część musi być zgodna z
Host
nazwą, którą ustawiliśmy w twoim~/.ssh/config
pliku. To poprawnie łączy git z odpowiednimIdentityFile
i poprawnie uwierzytelnia cię w githubZadania: tworzenie nowego repozytorium
Ponieważ nie możesz mieć kurczaka i jajka, przyjrzymy się opublikowaniu nowego repozytorium na Twoim drugim koncie. Ta sytuacja dotyczy użytkowników, którzy tworzą nowe treści przy użyciu dodatkowego konta github.
Załóżmy, że wykonałeś już trochę pracy lokalnie i jesteś teraz gotowy, aby przejść na github. Możesz iść ze mną, jeśli chcesz
Teraz skonfiguruj to repozytorium, aby używać swojej tożsamości
Teraz dokonaj pierwszego zatwierdzenia
Sprawdź zatwierdzenie, aby zobaczyć, że nowa tożsamość została użyta za pomocą git log
W porządku, czas naciskać na github! Ponieważ github jeszcze nie wie o naszym nowym repozytorium, najpierw wejdź na github.com/new i utwórz nowe repozytorium - nazwij je kiedyś
Teraz, aby skonfigurować twoje repozytorium do „rozmowy” z github przy użyciu poprawnej tożsamości / poświadczeń, dodaliśmy pilota. Zakładając, że nazwa użytkownika github dla nowego konta to
someuser
...Ta pogrubiona część jest absolutnie krytyczna i musi pasować do
Host
zdefiniowanej w twoim~/.ssh/config
plikuNa koniec wypchnij repozytorium
Zaktualizuj istniejące repozytorium, aby użyć nowej konfiguracji SSH
Załóżmy, że masz już kilka sklonowanych repozytoriów, ale teraz chcesz użyć nowej konfiguracji SSH. W powyższym przykładzie, my zachowaliśmy istniejące repo w takt przypisując poprzednią
id_rsa
/id_rsa.pub
pary kluczy doHost github.com
zapisania w pliku konfiguracyjnym SSH. Nie ma w tym nic złego, ale mam teraz co najmniej 5 konfiguracji github i nie lubię myśleć o jednej z nich jako o konfiguracji „domyślnej” - wolałbym wyraźnie mówić o każdej z nich.Zanim to mieliśmy
Zaktualizujemy to do tego (zmiany pogrubione )
Ale to oznacza, że teraz żadne istniejące repo z
github.com
pilotem nie będzie już działać z tym plikiem tożsamości. Ale nie martw się, to prosta poprawka.Aby zaktualizować istniejące repozytorium w celu korzystania z nowej konfiguracji SSH, wystarczy otworzyć plik konfiguracyjny git repo i zaktualizować adres URL!
Zaktualizuj pole zdalnego pochodzenia (zmiany pogrubione )
Otóż to. Teraz możesz
push
/pull
do zadowolenia swojego sercaUprawnienia do pliku kluczy SSH
Jeśli masz problemy z nieprawidłowym działaniem kluczy publicznych, SSH ściśle przestrzega uprawnień do plików w
~/.ssh
katalogu i odpowiednich plikach kluczyZasadniczo powinny istnieć wszystkie katalogi
700
i wszystkie pliki600
- oznacza to, że są one tylko do odczytu / zapisu przez właściciela - żadna inna grupa / użytkownik nie może ich odczytać / zapisaćJak zarządzam kluczami SSH
Zarządzam osobnymi kluczami SSH dla każdego hosta, z którym się łączę, tak że jeśli jakiś klucz zostanie kiedykolwiek naruszony, nie muszę aktualizować kluczy w każdym innym miejscu, w którym użyłem tego klucza. To tak, jak gdy otrzymujesz powiadomienie od Adobe, że 150 milionów informacji o ich użytkownikach zostało skradzionych - teraz musisz anulować tę kartę kredytową i zaktualizować każdą zależną od niej usługę - co za uciążliwość.
Oto
~/.ssh
jak wygląda mój katalog: Mam jeden.pem
klucz dla każdego użytkownika w folderze dla każdej domeny, z którą się łączę. Używam.pem
kluczy, więc potrzebuję tylko jednego pliku na klucz.A oto mój odpowiedni
/.ssh/config
plik - oczywiście github ma znaczenie, aby odpowiedzieć na to pytanie dotyczące github, ale ta odpowiedź ma na celu wyposażyć cię w wiedzę na temat zarządzania twoją tożsamością ssh na dowolnej liczbie usług / maszyn.Pobieranie klucza publicznego SSH z klucza PEM
Powyżej zauważyłeś, że dla każdego klucza mam tylko jeden plik. Kiedy muszę podać klucz publiczny, po prostu generuję go w razie potrzeby.
Więc kiedy github poprosi o klucz publiczny ssh, uruchom to polecenie, aby wypisać klucz publiczny na standardowe wyjście - skopiuj / wklej w razie potrzeby
Uwaga: jest to również ten sam proces, którego używam do dodawania mojego klucza do dowolnego zdalnego komputera.
ssh-rsa AAAA...
Wartość jest kopiowana do pilota~/.ssh/authorized_keys
plikuKonwersja par
id_rsa
/id_rsa.pub
kluczy do formatu PEMWięc chcesz oswoić swoje kluczowe pliki i ograniczyć niektóre cruft systemu plików? Przekształcenie pary kluczy w pojedynczy PEM jest łatwe
Lub, podążając za powyższymi przykładami, zmieniliśmy nazwę
id_rsa -> github-mainuser
iid_rsa.pub -> github-mainuser.pub
- takTeraz, aby upewnić się, że przekonwertowaliśmy to poprawne, musisz sprawdzić, czy wygenerowany klucz publiczny pasuje do twojego starego klucza publicznego
Teraz, gdy masz już
github-mainuser.pem
plik, możesz bezpiecznie usunąć starygithub-mainuser
igithub-mainuser.pub
pliki - potrzebny jest tylko plik PEM; po prostu wygeneruj klucz publiczny, kiedy go potrzebujesz ^ _ ^Tworzenie kluczy PEM od podstaw
Nie musisz tworzyć pary klucz prywatny / publiczny, a następnie konwertować na pojedynczy klucz PEM. Możesz utworzyć klucz PEM bezpośrednio.
Stwórzmy
newuser.pem
Uzyskanie klucza publicznego SSH jest takie samo
źródło
git clone github.com-otheruser:someorg/somerepo.git
musi byćgit clone [email protected]:someorg/somerepo.git
(dodaniegit@
). Leastways, właśnie tego potrzebowałem.Host github.com
(nowa linia)User git
(nowa linia)IdentityFile ...
Tworząc różne aliasy hosta dla github.com w ~ / .ssh / config i nadając każdemu aliasowi hosta własny klucz ssh, możesz łatwo używać wielu kont github bez zamieszania. Wynika to z faktu, że github.com odróżnia nie użytkownika, który zawsze jest po prostu git, ale kluczem ssh, którego użyłeś do połączenia. Po prostu skonfiguruj swoje zdalne źródła za pomocą własnych aliasów hosta. ”
Powyższe streszczenie jest dzięki uprzejmości w komentarzach na blogu poniżej.
Uznałem to wyjaśnienie za najbardziej zrozumiałe. I działa dla mnie przynajmniej od kwietnia 2012 r.
http://net.tutsplus.com/tutorials/tools-and-tips/how-to-work-with-github-and-multiple-accounts/
źródło
$ ssh-add ~/.ssh/id_rsa_COMPANY
- patrz Błąd: Odmowa zezwolenia (publickey) - Dokumentacja użytkownikaSzczegóły na stronie http://net.tutsplus.com/tutorials/tools-and-tips/how-to-work-with-github-and-multiple-accounts/ powiązane z mishaba działają dla mnie bardzo dobrze.
Z tej strony:
Następnie edytuj ten plik, aby był mniej więcej taki (jeden wpis na konto):
źródło
git clone git@github-COMPANY/repo/name.git
aby uzyskać właściwy klucz ssh.git clone https://github-COMPANY/GitUserName/projectname.git
wydaje się nie działać. Domyślny klucz przy użyciu github.com działa dobrze.ssh: connect to host github.com port 22: Bad file number fatal: The remote end hung up unexpectedly
. Dotychczas jedynym sposobem był https.$ git clone https://github-USER/UserName/test_project_user.git Cloning into test_project_user... error: Couldn't resolve host 'github-USER' while accessing https://github-USER/N UserName/test_project_user.git/info/refs fatal: HTTP request failed
Nie jestem pewien, czy może to być związane z plikiem konfiguracyjnym lub sposobem, w jaki próbuję emulować twoje połączenie git za pomocą https.Otwórz plik konfiguracyjny i dodaj poniższe kody. (zmień zgodnie z kontem)
Konto 1
Konto 2
Konto 3
Dodaj zdalny adres URL w następujący sposób
Konto 1
Konto 2
Konto 3
źródło
PreferredAuthentications publickey
?Używam skryptów powłoki, aby przełączyć się na dowolne konto, które chcę być „aktywne”. Zasadniczo zaczynasz od początku, odpowiednio skonfigurujesz i działa jedno konto, a następnie przenieś te pliki do nazwy z odpowiednim prefiksem. Od tego momentu możesz używać polecenia „github” lub „gitxyz”, aby przełączać:
Miałem z tym wielkie szczęście. Stworzyłem również skrypt uruchamiania w Xcode (dla użytkowników komputerów Mac), aby nie budował mojego projektu, chyba że miałbym odpowiednie ustawienie (ponieważ używa git):
Uruchom skrypt umieszczony po zależnościach (używając / bin / ksh jako powłoki):
EDYCJA: dodano testy na obecność nowych plików i kopiowanie starych plików do / tmp w celu zajęcia się komentarzem @naomik poniżej.
źródło
id_rsa
iid_rsa.pub
zostaną usunięte, mógłby zostać zablokowany z pilota.Ta odpowiedź jest dla początkujących (guru bez gitów) . Niedawno miałem ten problem i może to tylko ja, ale większość odpowiedzi wymagała wcześniejszego zrozumienia git. Po przeczytaniu kilku odpowiedzi na przepełnienie stosu, w tym tego wątku, oto kroki, które musiałem podjąć, aby łatwo przełączać się między kontami GitHub (np. Załóż dwa konta GitHub, github.com/personal i gitHub.com/work ):
ls -al ~/.ssh
plikówkluczy sshz rozszerzeniem
.pub
to klucze ssh, więc powinieneś mieć dwa dlakontpersonal
iwork
. Jeśli jest tylko jeden lub żaden, nadszedł czas, aby wygenerować inny mądry, pomiń to.- Generowanie klucza ssh : zaloguj się na github (osobisty lub służbowy), przejdź do Ustawień i skopiuj powiązany e-mail.
teraz wróć do terminalu i uruchom
ssh-keygen -t rsa -C "the copied email"
, zobaczysz:Generowanie pary kluczy publiczny / prywatny rsa.
Wprowadź plik, w którym chcesz zapisać klucz (/.../.ssh/id_rsa): jeśli generujesz dla konta służbowego. podaj hasło lub po prostu wpisz, aby zignorować, a przeczytasz coś takiego
id_rsa jest domyślną nazwą dla wkrótce wygenerowanego klucza ssh, więc skopiuj ścieżkę i zmień nazwę domyślną, np.
/.../.ssh/id_rsa_work
Obraz losowy klucza to: i obraz. gotowy.Powtórz ten krok jeszcze raz dla drugiego konta github. Upewnij się, że używasz prawidłowego adresu e-mail i innej nazwy klucza ssh (np. Id_rsa_personal), aby uniknąć zastąpienia.
Na tym etapie powinieneś zobaczyć dwa klucze ssh przy
ls -al ~/.ssh
ponownym uruchomieniu .pbcopy < ~/.ssh/id_rsa_work.pub
zamień naid_rsa_work.pub
to, co nazywasz swoim.Teraz, gdy nasz klucz ssh jest kopiowany do schowka, wróć do konta github [upewnij się, że jesteś zalogowany do konta działać, jeśli klucz ssh skopiowany jest
id_rsa_work
] i przejdź doUstawienia - SSH i klucze GPG i kliknij na klucz New SSH przycisku (nie nowy klucz GPG btw: D)
podaj tytuł tego klucza, wklej klucz i kliknij Dodaj klucz SSH. Teraz pomyślnie dodałeś klucz ssh lub zauważyłeś, że był tam cały czas, co jest w porządku (lub wystąpił błąd, ponieważ wybrałeś Nowy klucz GPG zamiastNowy klucz SSH : D).
Edytuj globalną konfigurację git: Ostatnim krokiem jest upewnienie się, że globalny plik konfiguracyjny jest świadomy wszystkich kont github (że tak powiem).
Uruchom,
git config --global --edit
aby edytować ten plik globalny, jeśli otworzy się vim i nie wiesz, jak go używać, naciśnij,i
aby przejść do trybu wstawiania, edytuj plik jak poniżej i naciśnij klawisz esc, a następnie,:wq
aby wyjść z trybu wstawiania:[inside this square brackets give a name to the followed acc.] name = github_username email = github_emailaddress [any other name] name = github_username email = github_email [credential] helper = osxkeychain useHttpPath = true
Gotowe !, teraz, gdy próbujesz wypchnąć lub wyciągnąć z repozytorium, zostaniesz zapytany, które konto GitHub powinno być połączone z tym repozytorium, a jego pytanie zostanie zadane tylko raz, konfiguracja lokalna zapamięta ten link, a nie konfigurację globalną, abyś mógł pracować na różnych repozytoriach powiązanych z różnymi kontami bez konieczności każdorazowej edycji konfiguracji globalnej.
źródło
Prostsza i łatwa naprawa, aby uniknąć nieporozumień ..
Użytkownicy systemu Windows mogą korzystać z wielu lub różnych kont git dla różnych projektów.
Następujące kroki: Przejdź do Panelu sterowania i wyszukaj Credential Manager. Następnie przejdź do Credential Manager -> Poświadczenia systemu Windows
Teraz usuń węzeł git: https // github.com w sekcji Nagłówki poświadczeń ogólnych
Spowoduje to usunięcie bieżących poświadczeń. Teraz możesz dodać dowolny projekt poprzez git pull, poprosi on o nazwę użytkownika i hasło.
W przypadku problemów z innym kontem wykonaj ten sam proces.
Dzięki
odnoszą się do obrazu
źródło
właśnie wymyśliłem to dla systemu Windows, używając poświadczeń dla każdego repozytorium:
Format referencji. https://github.com . informuje pomocnika referencji o adresie URL referencji. „UseHttpPath” mówi menedżerowi poświadczeń, aby użył ścieżki do poświadczenia. Jeśli parametr useHttpPath zostanie pominięty, menedżer poświadczeń zapisze jedno poświadczenie dla https://github.com . Jeśli zostanie uwzględniony, menedżer poświadczeń będzie przechowywać wiele poświadczeń, czego naprawdę chciałem.
źródło
Uważam, że ten klejnot jest bardzo przydatny: sshwitch
https://github.com/agush22/sshwitch
http://rubygems.org/gems/sshwitch
Pomaga zmienić klucze ssh. Pamiętaj, aby najpierw wykonać kopię zapasową wszystkiego!
Ponadto, aby upewnić się, że commity mają poprawny adres e-mail, upewniłem się, że plik ~ / .gitconfig ma prawidłowy adres e-mail.
źródło
Oprócz tworzenia wielu kluczy SSH dla wielu kont możesz również rozważyć dodanie współpracowników do każdego projektu przy użyciu tego samego adresu e-mail konta i przechowywanie hasła na stałe.
Skonfigurowałem wiele kont z różnymi wiadomościami e-mail, a następnie umieściłem tego samego użytkownika i wiadomość e-mail na każdym koncie jako jeden ze współpracowników. W ten sposób mogę uzyskać dostęp do wszystkich kont bez dodawania klucza SSH lub przełączania się na inną nazwę użytkownika i e-mail w celu uwierzytelnienia.
źródło
Najłatwiejsze i najprostsze podejście (IMHO) - bez problemów z plikami konfiguracyjnymi
Po prostu utwórz kolejny klucz ssh.
Załóżmy, że masz nowe robocze konto GitHub, po prostu utwórz dla niego nowy klucz:
Teraz powinieneś mieć starą i nową, aby je zobaczyć, uruchom:
Musisz uruchomić powyższe tylko raz.
Od teraz za każdym razem, gdy chcesz przełączać się między nimi, po prostu uruchom:
Aby przełączyć się na stary, uruchom ponownie:
źródło
innym łatwiejszym sposobem jest używanie wielu aplikacji komputerowych, takich jak to, co robię, korzystanie z konta A na komputerze Github, podczas korzystania z konta B na Github Kraken
źródło
IntelliJ Idea ma wbudowaną obsługę tego https://www.jetbrains.com/help/idea/github.html#da8d32ae
źródło
Jeśli nie chcesz zadzierać z
~/.ssh/config
plikiem wymienionym tutaj, możesz zamiast tego uruchomićgit config core.sshCommand "ssh -i ~/.ssh/custom_id_rsa"
repozytorium, w którym chcesz zatwierdzić z innego konta.Reszta konfiguracji jest taka sama:
Utwórz nowy klucz SSH dla drugiego konta za pomocą
ssh-keygen -t rsa -f ~/.ssh -f ~/.ssh/custom_id_rsa
Zaloguj się do github przy użyciu drugiego konta, przejdź do https://github.com/settings/keys i wklej zawartość
~/.ssh/custom_id_rsa.pub
Upewnij się, że używasz SSH zamiast HTTPS jako zdalnego adresu URL:
git remote set-url origin [email protected]:upstream_project_teamname/upstream_project.git
źródło
Nie musisz utrzymywać dwóch różnych kont osobistych i służbowych. W rzeczywistości Github zaleca prowadzenie jednego konta i pomaga połączyć oba.
Kliknij poniższy link, aby połączyć, jeśli uznasz, że nie musisz utrzymywać wielu kont.
https://help.github.com/articles/merging-multiple-user-accounts/
źródło
W przeciwieństwie do innych odpowiedzi, w których musisz wykonać kilka kroków, aby użyć dwóch różnych kont github z tej samej maszyny, dla mnie to działało dwóch krokach .
Musisz tylko:
1) wygeneruj parę kluczy publicznych i prywatnych SSH dla każdego konta na koncie
~/.ssh
lokalizacji o różnych nazwach i2) dodaj wygenerowane klucze publiczne do odpowiedniego konta w
Settings
>>SSH and GPG keys
>>New SSH Key
.Aby wygenerować pary kluczy publicznych i prywatnych SSH, użyj następującego polecenia:
W wyniku powyższych poleceń
id_rsa_WORK
iid_rsa_WORK.pub
pliki zostaną utworzone dla twojego konta służbowego (ex - git.work.com)id_rsa_PERSONAL
iid_rsa_PERSONAL.pub
zostaną utworzone dla twojego konta osobistego (ex - github.com).Po utworzeniu skopiuj treść z każdego publicznego (
*.pub
pliku ) i wykonaj krok 2 dla każdego konta.PS : Nie ma potrzeby wprowadzania wpisu hosta dla każdego konta git w
~/.ssh/config
pliku, jak wspomniano w innych odpowiedziach, jeśli nazwa hosta dwóch kont jest inna.źródło
Jeśli akurat masz zainstalowany WSL , możesz mieć dwa osobne konta git - jedno w WSL i jedno w Windows.
źródło
Powinieneś i nie wolno naciskać na projekt przy użyciu niektórych wspólnych poświadczeń. Po uruchomieniu na nowym komputerze wykonaj następujące czynności, aby skonfigurować i poprawnie użyć danych logowania gitlab:
Wszystko to w następujący sposób:
źródło
Utwórz nowy klucz SSH w swoim terminalu / wierszu poleceń.
ssh-keygen -t rsa -C „Twój adres e-mail”
Wyświetlone zostaną następujące informacje:
Generowanie publicznej / prywatnej pary kluczy rsa. Wprowadź plik, w którym chcesz zapisać klucz (/home/your_username/.ssh/id_rsa):
Skopiuj i wklej ścieżkę, a następnie identyfikowalną nazwę pliku:
4) Następnie poprosi Cię o:
5) Możesz teraz wpisać następujące polecenie, aby wyświetlić wszystkie klucze SSH, które masz na komputerze lokalnym:
Powinieneś być w stanie zobaczyć nowy plik klucza SSH. Jak widać w moim, mam zarówno id_rsa_test, jak i id_rsa_personal.pub.
6) Następnie musisz skopiować klucz SSH, który jest przechowywany w pliku id_rsa_personal.pub. Możesz otworzyć to w dowolnym edytorze tekstu. Obecnie używam atomu, więc otworzyłem plik za pomocą następującego polecenia:
Otrzymasz wtedy coś podobnego do tego:
ssh-rsa AAB3HKJLKC1yc2EAAAADAQABAAABAQCgU5 + ELtwsKkmcoeF3hNd7d6CjW + dWut83R / Dc01E / YzLc5ZFri18doOwuQoeTPpmIRVDGuQQWWGMMrrrv5 MWXMMrrva
7) Skopiuj to i przejdź do konta GitHub → Ustawienia → Klucze SSH i GPG 8) Kliknij Nowy klucz SSH. Skopiuj klucz, nadaj mu tytuł i dodaj go. 9) Dodaj klucz z terminala
10) Skonfiguruj użytkownika i hasło.
11) Jesteśmy gotowi do zatwierdzenia i pchnięcia już teraz.
źródło
Jeśli utworzyłeś lub sklonowałeś inne repozytorium i nie możesz pobrać z
origin
lubupstream
dodać klucza ssh w tym katalogu przy użyciu następującego polecenia, działało.Oto błąd, który tu otrzymałem:
Użyłem następującego polecenia, to działa:
ssh-add ~/.ssh/id_rsa_YOUR_COMPANY_NAME
źródło