Jak włączyć logowanie root SSH w systemie Linux za pomocą kluczy SSH

Włącz logowanie SSH użytkownika root za pomocą klucza publicznego, dodając go do pliku root authorized_keys, ustawiając go , weryfikując konfigurację OpenSSH i przeładowując usługę. Umożliwi to użytkownikowi root logowanie się za pomocą klucza, blokując jednocześnie hasło i uwierzytelnianie interaktywne z klawiaturą. Definicje opcji PermitRootLogin prohibit-passwordznajdziesz w podręczniku OpenSSH sshd_config .

Terminal łączący się z serwerem Linux jako konto administratora przez SSH
Ilustracja terminala przedstawia monit o zaufanie; przed zaakceptowaniem odcisku palca hosta należy go zweryfikować za pomocą zaufanego kanału.

Bezpośredni dostęp do roota daje akceptowany klucz i nieograniczoną kontrolę. Używaj go tylko w systemie, którym administrujesz, najlepiej za siecią prywatną lub zaporą sieciową. W przypadku rutynowych zadań zaloguj się jako nazwany użytkownik i użyj sudo. Pozostaw bieżącą sesję otwartą i upewnij się, że masz inną ścieżkę odzyskiwania przed zmianą ustawień zdalnego SSH.

Przed edycją serwera SSH

  • Połącz się z kontem, na którym można uruchomić program sudoi sprawdź, czy serwer OpenSSH jest uruchomiony.
  • Przygotuj parę kluczy SSH klienta. Skopiuj klucz publiczny (zazwyczaj plik z końcówką .pub); nigdy nie udostępniaj klucza prywatnego.

Nie ustawiaj hasła root wyłącznie dla SSH opartego na kluczu. Zablokowane hasło i dostęp za pomocą klucza publicznego to oddzielne elementy, chociaż zasady dotyczące kont dystrybucyjnych mogą wpływać na logowanie. W podręczniku zarządzania użytkownikami Ubuntu wyjaśniono, że samo zablokowanie hasła nie wyłącza dostępu do istniejącego klucza SSH.

Włącz logowanie SSH oparte na kluczu głównym

1. Połącz się jako zwykły administrator

Z poziomu terminala klienta połącz się z kontem, które ma już uprawnienia sudo:

ssh admin@server.example.com

Zastąp przykładowe wartości. Zweryfikuj nowy odcisk klucza hosta za pomocą zaufanego kanału przed jego zaakceptowaniem.

2. Dodaj swój klucz publiczny do konta roota

Na serwerze utwórz katalog SSH użytkownika root z ograniczonymi uprawnieniami, a następnie edytuj listę autoryzowanych kluczy:

sudo install -d -m 700 /root/.ssh
sudoedit /root/.ssh/authorized_keys

Wklej cały klucz publiczny w jednym wierszu i zapisz. Nigdy nie wklejaj klucza prywatnego i zachowaj wszystkie istniejące wpisy. Następnie ogranicz prawa własności i uprawnienia:

sudo chown -R root:root /root/.ssh
sudo chmod 700 /root/.ssh
sudo chmod 600 /root/.ssh/authorized_keys
Edytor terminala otwiera plik authorized_keys użytkownika root po utworzeniu katalogu SSH użytkownika root
Dodaj cały klucz publiczny jako jedną linię w pliku author_keys użytkownika root. Pokazany tutaj skrócony klucz jest jedynie wizualnym symbolem zastępczym.

3. Ustaw zasady logowania roota

Otwórz konfigurację serwera za pomocą edytora, na przykład:

sudoedit /etc/ssh/sshd_config

Znajdź dyrektywę active PermitRootLogini zmień ją na:

PermitRootLogin prohibit-password

Jest to bezpieczniejsze niż PermitRootLogin yes, które może zezwalać na hasła roota. Nie dodawaj duplikatu dyrektywy: OpenSSH używa pierwszej uzyskanej wartości, a dystrybucje mogą ładować Includepliki. Edytuj aktywne ustawienie i pozostaw niezwiązane z nim opcje uwierzytelniania bez zmian.

Konfiguracja serwera OpenSSH pokazująca PermitRootLogin ustawiony na prohibit-password
Podświetlony wiersz kontroluje root; pozostałe pokazane opcje uwierzytelniania to osobne ustawienia i powinny być zgodne z Twoją polityką.

4. Sprawdź poprawność konfiguracji przed jej zastosowaniem

Najpierw sprawdź, czy nie ma błędów składniowych:

sudo sshd -t

Brak wyniku oznacza, że ​​sprawdzenie składni przebiegło pomyślnie. Napraw wszelkie zgłoszone błędy przed ponownym załadowaniem. Sprawdź wartość efektywną za pomocą:

sudo sshd -T | grep permitrootlogin

Sprawdź, czy na wyjściu jest napisane permitrootlogin prohibit-password. Jeśli nie, sprawdź dołączone pliki i odpowiednie Matchbloki. Podręcznik sshd definiuje to -tjako sprawdzenie składni i -Traport o efektywnej konfiguracji.

Terminal uruchamiający walidację konfiguracji sshd i drukujący efektywną wartość PermitRootLogin
Przed zastosowaniem zmian uruchom polecenie sshd -t, a następnie sprawdź efektywne ustawienia logowania użytkownika root.

5. Załaduj ponownie usługę SSH

Użyj nazwy usługi swojej dystrybucji. Ubuntu i Debian powszechnie używają:

sudo systemctl reload ssh.service

Fedora, RHEL i wiele innych dystrybucji powszechnie używają:

sudo systemctl reload sshd.service

Jeśli przeładowanie nie jest obsługiwane, użyj systemctl restartodpowiedniej nazwy usługi i zachowaj otwartą oryginalną sesję. Podręcznik OpenSSH Ubuntu również zaleca uruchomienie sshd -tprzed ponownym uruchomieniem.

Terminal Linux ponownie ładujący usługę OpenSSH w systemie Ubuntu lub Debian
Po zakończeniu kontroli składni konfiguracji należy ponownie załadować demona SSH. Nazwy usług różnią się w zależności od dystrybucji.

6. Przetestuj dostęp do roota z drugiego terminala

Otwórz osobny terminal na kliencie i podaj klucz prywatny, który odpowiada zainstalowanemu kluczowi publicznemu:

ssh -i ~/.ssh/id_ed25519 root@server.example.com

Zmień ścieżkę klucza i nazwę hosta. Sprawdź wszystkie monity dotyczące klucza hosta i potwierdź, że sesja otwiera się jako root. Jeśli test się nie powiedzie, rozwiąż problem z oryginalnej sesji i pozostaw ją otwartą do czasu przywrócenia dostępu.

Drugi terminal pomyślnie otworzył sesję SSH z kontem głównym
Przed zamknięciem sesji administratora przeprowadź test na nowym terminalu klienckim, używając pasującego klucza prywatnego.

Rozwiązywanie problemów z odmową logowania root

W przypadku Permission denied (publickey), sprawdź, czy pełny klucz publiczny jest wpisany /root/.ssh/authorized_keysi czy klient używa pasującego klucza prywatnego. Sprawdź ponownie właściciela i uprawnienia:

sudo chown -R root:root /root/.ssh
sudo chmod 700 /root/.ssh
sudo chmod 600 /root/.ssh/authorized_keys

Sprawdź również wartość skuteczną PermitRootLogin, reguły AllowUsers/ DenyUsers, logi serwera i powłokę logowania roota. Unikaj zmiany tego ustawienia na yesskrót, ponieważ może to rozszerzyć zakres dozwolonych metod uwierzytelniania roota.

Terminal Linux korygujący własność i ograniczone uprawnienia plików kluczy SSH root
Właścicielem katalogu SSH użytkownika root powinien być użytkownik root, z uprawnieniami 700 dla katalogu i 600 dla author_keys.

Wyłącz logowanie SSH z uprawnieniami roota, jeśli już go nie potrzebujesz

Aby wyłączyć bezpośredni dostęp roota do SSH, zmień dyrektywę active na:

PermitRootLogin no

Uruchom sudo sshd -ti przeładuj odpowiednią usługę. To zablokuje bezpośrednie połączenie SSH z rootem, pozostawiając jednocześnie dostępne konto administratora. Samo zablokowanie hasła może nie wyłączyć logowania za pomocą klucza publicznego roota.

Konfiguracja serwera OpenSSH ustawiona na PermitRootLogin no, po której następują polecenia walidacji i ponownego ładowania usługi
Ustaw PermitRootLogin na „nie”, zatwierdź i przeładuj. Pozostałe wyświetlane opcje uwierzytelniania są oddzielne i nie są wymagane w przypadku tej zmiany tylko dla konta root.

Więcej szczegółów znajdziesz w podręczniku konfiguracji OpenSSH i dokumentacji Ubuntu Server SSH.

Zostaw komentarz

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Dowiedz się, jak odzyskać utracone partycje i pliki za pomocą TestDisk i PhotoRec. Zabezpiecz dysk źródłowy, przeskanuj go bezpiecznie i zapisz odzyskane dane na innym dysku.

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Skanuj kody QR w systemie Linux za pomocą CoBang, używając kamery internetowej lub pliku obrazu. Zobacz opcje instalacji, kroki konfiguracji i poprawki dotyczące dostępu do kamery Flatpak.

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Zmień ustawienia kamery internetowej w systemie Linux za pomocą narzędzia Cameractrls: dostosuj ekspozycję, kolor, redukcję migotania i inne obsługiwane elementy sterujące, a następnie sprawdź zgodne tryby wideo.

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Zainstaluj PhpStorm na Linuksie za pomocą JetBrains Toolbox lub samodzielnego archiwum tar.gz, a także opcji Snap i Arch AUR. Java jest już dołączona.

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Usuń tło zdjęcia w systemie Linux za pomocą programu GIMP: narysuj obiekt, usuń wybrane tło, zachowaj przezroczystość i wyeksportuj plik PNG, który można ponownie wykorzystać.

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Utwórz obraz ISO płyty CD-ROM w systemie Linux za pomocą GNOME Disks lub dd. Zidentyfikuj napęd optyczny, monitoruj kopiowanie, zweryfikuj obraz i dowiedz się, kiedy uszkodzona płyta lub płyta audio wymaga użycia innego narzędzia.

Jak skonfigurować dwa panele w środowisku XFCE 4

Jak skonfigurować dwa panele w środowisku XFCE 4

Utwórz oddzielny panel XFCE 4 dla każdego wyświetlacza, przypisz drugi panel do odpowiedniego wyjścia, określ jego położenie i rozmiar, a następnie dodaj potrzebne elementy uruchamiające i statusu.

Jak zainstalować Cisco Packet Tracer w systemie Linux

Jak zainstalować Cisco Packet Tracer w systemie Linux

Pobierz Cisco Packet Tracer 9.0.1 dla systemu Ubuntu 64-bit, zainstaluj pakiet DEB za pomocą APT, zaakceptuj licencję w terminalu i zaloguj się, aby rozpocząć laboratorium.

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo z oficjalnej strony. Porównaj pakiety dla systemów Windows, macOS i Linux, zainstaluj pliki danych i rozpocznij swój pierwszy lot.

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler mapuje klipy MP3 na klawisze klawiatury i umożliwia zapętlanie dźwięku. Dowiedz się, co robi ten starszy, darmowy program, gdzie kończą się jego stare funkcje i co sprawdzić przed pobraniem.