Jak połączyć się z systemem Linux z Windows za pomocą uwierzytelniania opartego na kluczu SSH?

1

Próbuję połączyć się z systemem Windows 7 do serwera Linux przy użyciu uwierzytelniania opartego na kluczach. Aby to zrobić, utworzyłem parę kluczy publiczny / prywatny za pomocą narzędzia do generowania kluczy PuTTY i skopiowałem zawartość klucza publicznego do .ssh/authorized_keyspliku serwera . Gdy używam sshwiersza polecenia z mojego systemu operacyjnego Windows i wpisuję: ssh user@serverprosi o hasło, które nie powinno się zdarzyć, ponieważ musi odczytać klucz prywatny z mojego .sshfolderu:

kliknij, aby zobaczyć obraz

Kiedy używam PuTTY i określam klucz prywatny, otrzymuję również ten komunikat:

kliknij, aby zobaczyć obraz

Moja para kluczy w moim systemie operacyjnym Windows znajduje się w folderze mojego konta użytkownika pod .ssh:

kliknij, aby zobaczyć obraz

A na serwerze Linux klucz publiczny znajduje się w authorized_keyspliku w ~/.sshfolderze:

kliknij, aby zobaczyć obraz

A mój klucz publiczny to:

kliknij, aby zobaczyć obraz

Nie wiem, co jest nie tak z tymi wszystkimi rzeczami.

użytkownik2128078
źródło

Odpowiedzi:

0

Twój edytor wyświetla się [noeol]podczas przeglądania klucza publicznego w authorized_keyspliku - może to być problem. Dodaj brakujący znak końca wiersza.

Czy authorized_keysplik na serwerze Linux jest chroniony, aby inni użytkownicy serwera nie mogli go modyfikować? Jeśli nie, sshdzignoruje to. Mówiąc dokładniej, authorized_keysplik, .sshpodkatalog i katalog domowy użytkownika muszą być zapisywane tylko przez samego użytkownika.

Jeśli te wskazówki nie rozwiążą problemu, sprawdź dziennik uwierzytelniania serwera. W Linuksie, że będzie zazwyczaj być /var/log/securealbo /var/log/auth.logw zależności od dystrybucji. sshdDemon będzie rejestrować tam komunikat o błędzie, jeśli nie udało się odczytać authorized_keypliku lub jest ignorowanie go z jakiegoś powodu - a komunikat o błędzie będzie zawierać przyczynę.

telcoM
źródło
ssh -v(a nawet ssh -vv) powie Ci więcej o tym, co się stanie, gdy się zalogujesz.
Xenoid 10.01.18
Ale nie powie ci, dlaczego sshd odrzuca klucz. Ta informacja znajduje się tylko w dzienniku serwera.
telcoM
Dziękuję @telcoM, zmodyfikowałem uprawnienia do folderu / home / eoecm01. Teraz mam komunikat, że moje klucze prywatne są zbyt otwarte z mojego folderu systemu operacyjnego Windows (0644), kiedy przeglądam mój klucz prywatny za pomocą Cygwin64, ma on 700 uprawnień. To używa programu narzędziowego ssh. Podczas używania szpachli działa dobrze. Dziękujemy za pomoc
user2128078,