Błąd odmowy uprawnień Git (klucz publiczny)

6

Podłączyłem się wiele razy do github i wiem o generowaniu kluczy ssh i wprowadzaniu id_rsa.pubustawień github. Ale z jakiegoś powodu z tą instalacją nie mogę się połączyć. Próbuję tylko sklonować prywatne repozytorium na nowym serwerze, ale kiedy klonuję, otrzymuję:

Odmowa dostępu (publickey). fatal: Odległy koniec odłożył słuchawkę nieoczekiwanie

Jeśli uruchomię:

ssh -T [email protected]

Mówi mi, że pomyślnie się uwierzytelniłem.

Co jeszcze mogę spróbować? Używam tego na stosie bitnami, więc może to powoduje problemy? To prawdopodobnie problem, po prostu nie jestem pewien, co z tym zrobić. W katalogu .ssh / Author_keys znajduje się już zestaw kluczy. Zostawiłem ich w spokoju, ponieważ w ten sposób łączę się z kitem / pagentem. Umieściłem nowe klucze w /.ssh i zostawiłem klucze autoryzowane w spokoju. Jaki byłby właściwy sposób na skonfigurowanie tego? Czy powinienem po prostu usunąć obie pary i zacząć od nowa? Używasz tych samych kluczy do szpachli i github? Dlaczego nadal uwierzytelniam się, jeśli występuje problem?

zac
źródło
próbujesz połączyć się z systemem Windows lub Linux? Jestem zdziwiony twoim poniższym komentarzem i twoją wzmianką o
kitach
Cześć przepraszam, to jest mylące. Łączę się z Windows z serwerem bitnami za pomocą Putty. Na samym serwerze bitnami działa Linux. Próbuję połączyć się z github z serwera Linux.
zac
Zaktualizowałem swoją odpowiedź.
Sathyajith Bhat

Odpowiedzi:

7

Czy próbowałeś utworzyć nowy certyfikat SSH, tj. Parę kluczy?

1 Wygeneruj domyślną parę kluczy:

$ ssh-keygen -t rsa -C "[email protected]"

Nie używaj tego, jeśli masz już certyfikat SSH.

2 Wygeneruj dodatkowe pary kluczy:

$ ssh-keygen -t rsa -C "[email protected]"

3 Dodaj klucze inne niż domyślne

$ ssh-add ~/.ssh/id_rsa_seconduser
Enter passphrase for /Users/defaultuser/.ssh/id_rsa_seconduser: 
Identity added: /Users/defaultuser/.ssh/id_rsa_defaultuser  (/Users/defaultuser/.ssh/id_rsa_defaultuser)

4 Ustaw plik konfiguracyjny SSH ( ~/.ssh/config), aby SSH wiedział, którego klucza należy użyć dla którego serwera:

Host github.com
  HostName github.com
  User git
  IdentityFile /Users/XXXUser/.ssh/id_rsa

Host github-client
  HostName github.com
  User git
  IdentityFile /Users/XXXUser/.ssh/id_rsa_XXXSECONDUSER

5 Upewnij się w .git/configpliku projektu Git powiązanym z drugim kontem użytkownika w Github, że używasz poprawnej nazwy hosta, github-clientale nie github.com:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github-client:foobarsomeuser/foobar.git
Computist
źródło
Dzięki! To pomogło mi wymyślić, co robić. Problem polegał na tym, że próbowałem użyć domyślnego użytkownika bitnami. Wygenerowałem klucze jako nowy użytkownik i teraz działa!
zac
0

Wygląda na to, że brakuje klucza publicznego lub umieściłeś niepoprawny klucz publiczny w breloku. Sprawdź, czy klucz istnieje ~/.ssh. Trudno powiedzieć bez wspominania o systemie operacyjnym


W katalogu .ssh / Author_keys znajduje się już zestaw kluczy.

Sądzę, że są to klucze wymagane do ssh na serwerze Linux.

Najlepszym sposobem byłoby zregenerowanie nowego zestawu kluczy prywatnych / publicznych dla github, dodanie PK do kluczy serwera Linux i wklejenie klucza publicznego na kontach Github .

Sathyajith Bhat
źródło
Zaktualizowałem moje pytanie, aby spróbować lepiej wyjaśnić. Tak, klucze znajdują się w ~ / .ssh (i inny zestaw w uprawniony_kluczy). Uważam, że ten stos to 64-bitowy system Linux.
zac
Dzięki, nie rozumiem jednak. Trzymam klucze, które są tam, aby ssh na serwerze i utworzyć nowy zestaw dla github? Co to znaczy dodać do breloka? Czy umieszczam go w pliku .pem, który pobrałem podczas konfigurowania AMI? Proszę o więcej szczegółów.
zac
@zac Computist wyjaśnił, co miałem na myśli
Sathyajith Bhat