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.

12 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.

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.