Klucze SSH i ‘server refused our key’

Rozwiązanie problemu, gdy wygenerowaliśmy parę kluczy za pomocą PuttyGen, a mimo wrzucenia klucza publicznego na serwer dalej nie chce wejść i wyświetla komunikat:
server refused our key

  1.  Przygotuj odpowiednio klucz publiczny. Oto postać z PuttyGen:
    ---- BEGIN SSH2 PUBLIC KEY ----
    Comment: "rsa-key-20121112"
    AAAAB3NzaC1yc2EAAAABJQAAAIEAxwD8/OOHou6HpF/Bk0AUufpHm9WNoSMn3tBZ
    X6awiyD236LqTgLOkwmQbec1Jmam6f/xi0VcXRyWM1jjug+GKdzooW87WYVIqA/J
    HKJ1sq6CYs2IybwAejUvsFzqKBlEaEREksQOZwS0W2OKqJeZJJ3cMmJFl606RRTJ
    aM1LiNE=
    ---- END SSH2 PUBLIC KEY ----
  2. Usuń dwie pierwsze oraz ostatnią linie:
    AAAAB3NzaC1yc2EAAAABJQAAAIEAxwD8/OOHou6HpF/Bk0AUufpHm9WNoSMn3tBZ
    X6awiyD236LqTgLOkwmQbec1Jmam6f/xi0VcXRyWM1jjug+GKdzooW87WYVIqA/J
    HKJ1sq6CYs2IybwAejUvsFzqKBlEaEREksQOZwS0W2OKqJeZJJ3cMmJFl606RRTJ
    aM1LiNE=
  3. Połącz pozostałe linie w jedną:
    AAAAB3NzaC1yc2EAAAABJQAAAIEAxwD8/OOHou6HpF/Bk0AUufpHm9WNoSMn3tBZX6awiyD236LqTgLOkwmQbec1Jmam6f/xi0VcXRyWM1jjug+GKdzooW87WYVIqA/JHKJ1sq6CYs2IybwAejUvsFzqKBlEaEREksQOZwS0W2OKqJeZJJ3cMmJFl606RRTJaM1LiNE=
  4. Dopisz na początku ssh-rsa
    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAxwD8/OOHou6HpF/Bk0AUufpHm9WNoSMn3tBZX6awiyD236LqTgLOkwmQbec1Jmam6f/xi0VcXRyWM1jjug+GKdzooW87WYVIqA/JHKJ1sq6CYs2IybwAejUvsFzqKBlEaEREksQOZwS0W2OKqJeZJJ3cMmJFl606RRTJaM1LiNE=
  5. Umieść taką linijkę w pliku ~/.ssh/authorized_keys. Zwykle to będzie jedyna jego zawartość.
  6. Nadaj plikowi odpowiednie uprawnienia:
    chmod 600 authorized_keys
  7. Nadaj folderowi .ssh odpowiednie uprawnienia:
    cd ..
    chmod 700 .ssh
  8. To wszystko. Teraz powinno już śmigać. Testowane na popularnym hostingu D2.pl. Na hostingu Az.pl nie ma problemu, bo panel administracyjny umożliwia stworzenie kluczy, i wszystko działa od razu.

17 komentarzy do “Klucze SSH i ‘server refused our key’”

  1. Niestety nie pomaga w moim przypadku. Sam powyższy opis nie jest jednoznaczny z czego nie jestem zadowolony. Konkretnie:
    jeden z pkt’ów mówi “Dopisz na początku ssh-rsa” i poniżej mamy treść pliku – to jest zrozumiałe i jasne (mamy dwie linijki w pliku), następny krok to “Umieść taką linijkę w pliku…” to wprowadza zamęt… moje pytanie: Jaką linijkę? normalnie w puttygen mamy trzecią linijkę “rsa-key-20120213”, tutaj autor nic o tym nie pisze…

  2. Witam, już tłumaczę. W pliku ~/.ssh/authorized_keys umieszczamy linijkę przygotowaną w poprzednich punktach. Ciąg znaków “ssh-rsa ” umieszczamy przed poprzednim ciągiem W JEDNEJ LINIJCE. Na końcu otrzymujemy plik z zawartością w postaci jednego wiersza. Taka jest zawartość pliku w moim przypadku; nie zawiera więcej danych. Kolejne wiersze z kluczami w tej samej postaci dopisujemy, aby autoryzować więcej kluczy – jednak z tego nie korzystałem, więc nie gwarantuję że to tak zadziała.

    Mam nadzieję że pomogłem.

  3. Dodam jeszcze, że co prawda w oknie Puttygen pojawia się na końcu klucza publicznego wpis podobny do “rsa-key-20120213”, ale proszę zapisać ten klucz korzystając z przycisku “Save public key” do pliku, a zobaczy Pan że w pliku tego zakończenia nie będzie, a sama zawartość pliku będzie podobna do tej przedstawionej na początku wpisu (pkt.1). Pozdrawiam, i proszę o odpowiedź, czy się udało.

  4. Witam,

    Postepowalem zgodnie z Pana wytycznymi, lecz dalej ten problem sie pojawia, dodatkowo na serwerze na ktory chce sie laczyc nie posiadalem folderu authorized_keys, utworzylem go recznie, natomiast jest plik know-hosts

  5. Takie jajo, że klucz musi być w katalogu użytkownika. W przypadku użytkownika root miałem niezłą gimnastykę i rozumiem czemu w/w nie zadziałało. A swoją droga Putty generuje te klucze tak, że żaden nie jest do użycia metodą zaznacz wszystko i kopiuj. Starsza wersja też nie czyta tego co generuje aktualnie ściągnięta.

  6. PuTTY Key Generator w głównym oknie ma już odpowiedni klucz do wklejenia na serwerze … czemu tak na około iść?

    1. Faktycznie.
      Akurat zwykle najpierw zapisuję parę plików na dysku z przyzwyczajenia. Ale sama zawartość pliku authorized_keys to tylko połowa sukcesu.

  7. Pomogło, dzięki! Nie wiem które putty mam, bo używam win7, ale format dawany przez gen oczywiście do niczego nie pasuje.
    ps. mam drugi problem, którego nie jestem w stanie wygooglać, otóż putty sobie zapamiętało jakieś złe tłumaczenie domeny na ip, ping, nslookup podają dobre, a putty twardo próbuje się łączyć gdzie indziej co oczywiście nie działa. Jak wpisze user@ip to jest ok, a jak user@domena.pl to nie działa 🙂
    ipconfig /flushdns też nie pomogło.

    1. Jeśli “ipconfig /flushdns” nie pomaga, to może jakiś cache w Putty z rejestru:
      Komputer\HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\
      Temat do zbadania. Pozdrawiam

  8. “Umieść taką linijkę w pliku ~/.ssh/authorized_keys. Zwykle to będzie jedyna jego zawartość.”
    ale JAK?
    Jak się tam dostać? Nie idzie do tego nawigować via mc ani nic.
    Masakra.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.