Witam,
Wszystkich mam taki problem ponieważ nie mogę zalogować się za pomocą klucza ssh wygenerowanego poprzez PuTTYgen oczywiście dodałem plik z kluczem prywatnym do programu putty ale w terminalu wyświetla mi się komunikat Server refused our key. Dodam że stworzyłem na serwerze plik authorized_keys, do folderu ssh mimo to klucz jest nie widoczny. Jeszcze warto wspomnieć iż korzystam z hostingu (chmury )aruba cloud. Proszę o pomoc z góry dzięki i pozdrawiam.
Putty używa jakiegoś innego formatu kluczy niż ten w sshd, musisz przekonwertować klucz wygenerowany do takiego formatu by był obsługiwany przez putty. Nie wiem o co dokładnie tam chodziło (może /r/n) bo nie wnikałem w to.
Jak przekonwertować klucz bez problemu znajdziesz na google.
Dokładnie. Klucz najlepiej wygenerować za pomoc ssh-keygen i przekonwertować na ppk, którego używa putty. Można to zrobić za pomocą puttygen.
Wygenerowałem klucz za pomocą git GitBash dodałem klucz normalnie jak zwykle do putty, klucz do pliku authorized_keys do katalogu ssh i dalej to samo.Korzystałem ,też z tej strony o to rzuty ekranu konfiguracji w putty.
A nie jest tak przypadkiem, że SSH masz skonfigurowane na odrzucanie połączenia jako root?
No ale prosi mnie tak czy tak potem o wpisanie hasła?
A hasłem się logujesz?
Prosi bo odrzucono klucz więc logujesz się klasycznie usery:password, czyli pyta o hasło do konta root, a nie do klucza.
Klucza dalej nie przekonwertowałeś do putty z tego co piszesz. Więc się nie dziw, że jest odrzucany. Kolejna sprawa logujesz się na roota, ale czy klucz umożliwia logowanie się na roota? czy może na zwykłego użytkownika? Jeszcze jedna kwestia, sshd jest skonfigurowane tak, że pozwala zalogować się na roota zdalnie?
Jak nie przewertowałem przecież plik ma rozszerzenie ppk
To jak mam w końcu przekonwertować poprawnie ten klucz?
Na jakie skoro opublikowałem rzuty ekranu jeszcze opublikuje pliki serwera, authorized_keys, sshd_config więc myślę że powinno to wystarczyć.
pliki ssh
Na te, które zadał.
zamien
#PubkeyAuthentication yes
na
PubkeyAuthentication yes
Cały czas tak samo niestety:(
Nadal uważam, że powinieneś odpowiedzieć na pytania @Fizyda - wtedy wiedzielibyśmy, że konfiguracja Twojego sshd nie zezwala na logowanie jako root
Nie no zezwala ponieważ ja się loguje na roota.
Który klucz używasz po której stronie (klient/server)?
Gdzie umieściłeś klucz publiczny? W jakim katalogu na serwerze?
Czy ustawiłeś sshd pozwalając logować się na roota bez podania hasła i wyłączyłeś autentykację roota?
Po co chcesz logować się na roota zdalnie? Przecież to głupie i niebezpieczne, na serwerach pierwsze co się robi to wyłącza się w ogóle możliwość logowania na konto root, a ty robisz coś jeszcze gorszego.
Zatrzymaj usługę SSH, zmień AuthorizedKeysFile na:
AuthorizedKeysFile .ssh/authorized_keys
Tak po prawdzie ta zmienna może być zakomentowana (bo ta wartość powyżej jest domyślna). Zajrzyj do manuala jak można zapisać ścieżkę do autoryzowanych kluczy:
https://linux.die.net/man/5/sshd_config
EDYCJA:
A jeśli już koniecznie chcesz mieć alternatywną ścieżkę, to podaj poprawnie (miałeś bez prawego ukośnika):
/root/.ssh/authorized_keys
Z gury dzienkuje za pomodz!
Rany julek. Jeśli nie masz pod ręką jakiegoś Linuksa, to lognij się na ten serwer, wygeneruj klucz poleceniem
ssh-keygen -t rsa
Umieść klucz w authorized_keys poleceniem
cat id_rsa.pub >> authorized_keys
Zabierz z serwera klucz id_rsa i przekonwertuj go w puttygen do formatu Putty.