Wygenerowałem parę kluczy SSH bez hasła i dodałem klucz publiczny do GitHub.
Połączenie z
user@dev:/var/www/project# ssh -T [email protected]
Hi User! You've successfully authenticated, but GitHub does not provide shell access.
zakończyło się sukcesem, a kiedy zmienię nazwę klucza, nie powiedzie się.
Ale kiedy chcę wprowadzić zmiany, nadal pytam o kombinację nazwy użytkownika i hasła.
Czy istnieje sposób na wypchnięcie bez hasła?
https://github...
w swoich pilotach. Powinny również przestrzegać tegogit@github...
formatu.Odpowiedzi:
Jeśli prosi o podanie nazwy użytkownika i hasła, pilot źródłowy wskazuje adres URL HTTPS zamiast adresu URL SSH.
Zmień na ssh.
Na przykład projekt GitHub, taki jak Git, będzie miał adres URL HTTPS:
I SSH:
Możesz to zrobić:
zmienić adres URL.
źródło
git remote set-url origin $(git remote show origin | grep "Fetch URL" | sed 's/ *Fetch URL: //' | sed 's/https:\/\/github.com\//[email protected]:/')
Dodatkowo w przypadku gists wydaje się, że musisz pominąć nazwę użytkownika
źródło
Jeśli rzeczywiście używasz adresu URL SSH, ale nadal pytasz o nazwę użytkownika i hasło podczas wypychania git:
Powinieneś spróbować rozwiązać problem z:
Poniżej znajduje się przykładowy wynik:
Właściwie już wcześniej dodałem klucz publiczny do GitHub, a także mam klucz lokalny lokalnie. Jednak mój klucz prywatny ma inną nazwę o nazwie
/c/Users/Yuci/.ssh/github_rsa
.Według danych wyjściowych Git próbuje
/c/Users/Yuci/.ssh/id_rsa
, czego nie mam. Dlatego mógłbym po prostu skopiowaćgithub_rsa
doid_rsa
tego samego katalogu.Teraz, gdy uruchamiam
ssh -vT [email protected]
ponownie, mam:A teraz mogę przesłać do GitHub bez pytania o nazwę użytkownika i hasło :-)
źródło
Musisz użyć wersji SSH , a nie HTTPS . Kiedy klonujesz z repozytorium, skopiuj link z wersją SSH , ponieważ SSH jest łatwy w użyciu i rozwiązuje wszystkie problemy z dostępem. Możesz ustawić dostęp dla każdego SSH, który wpiszesz na swoje konto (np. Push, pull, klon itp.)
Oto link, który mówi, dlaczego potrzebujemy SSH i jak go używać: krok po kroku
Git Generuj klucze SSH
źródło
Jak zwykle utwórz klucz SSH i wklej klucz publiczny do GitHub. Dodaj klucz prywatny do ssh-agent. (Zakładam, że to właśnie zrobiłeś).
Aby sprawdzić, czy wszystko jest poprawne, użyj
ssh -T [email protected]
Następnie nie zapomnij zmodyfikować zdalnego punktu w następujący sposób:
źródło
Za pomocą wiersza polecenia:
Wejdź,
ls -al ~/.ssh
aby sprawdzić, czy istnieją istniejące klucze SSH.W terminalu pokazuje: Nie istnieje katalog
Następnie wygeneruj nowy klucz SSH
Krok 1.
krok 2.
krok 3.
źródło