Najczęstsze niestandardowe konfiguracje SSH serwera OpenSsh
- 720
- 77
- Seweryn Augustyniak
OpenSsh
Zestaw narzędzi pozwól nam stworzyć bezpieczne, zaszyfrowane połączenia między maszynami. W tym samouczku przyjrzymy się niektórym z najbardziej przydatnych opcji, jakie możemy użyć do zmiany zachowania Sshd
, OpenSsh
Demon, aby ułatwić zadanie administracji systemu Linux.
W tym artykule zakładamy istnienie już działającego i dostępnego serwera. Jeśli chcesz dowiedzieć się więcej o instalacji OpenSSH, możesz spojrzeć na ten artykuł na temat instalacji serwera SSH na Ubuntu Linux.
W tym samouczku nauczysz się:
- Jak dostosować zachowanie demona SSHD poprzez manipulowanie opcjami w głównym pliku konfiguracyjnym SSH
/etc/ssh/sshd_config
- Jak zmienić domyślne porty używane przez serwer
- Jak zmienić adres, na który serwer słucha
- Jak zmienić maksymalny czas logowania SSH
- Jak pozwolić lub zaprzeczyć zalogowaniu się jako root
- Jak zmienić próby logowania maksymalnego i maksymalną liczbę otwartej sesji
- Jak wyświetlić wiadomość, gdy użytkownik próbuje uwierzytelnić się na serwer
- Jak włączyć/wyłączyć hasło i uwierzytelnianie pubkey
- Jak włączyć/wyłączyć HostbaseAuthentication
- Włączanie/wyłączanie przekazywania x11
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Niezależny od rozkładu |
Oprogramowanie | Nie jest wymagane żadne dodatkowe oprogramowanie, aby śledzić ten samouczek oprócz OpenSsh |
Inny | Uruchomiony serwer OpenSsh |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny |
Plik konfiguracji demona SSHD
Domyślnie Sshd
, OpenSsh
demon, odczytuje swoją konfigurację z /etc/ssh/sshd_config
plik. Inną ścieżkę pliku można określić za pomocą -F
Opcja podczas uruchamiania demona. Istnieje wiele opcji, które możemy zmienić, aby zmienić zachowanie demona. Chociaż nie można wymienić ich wszystkich tutaj, zobaczymy niektóre z najczęściej używanych i co możemy uzyskać, zmieniając ich wartości. Za każdym razem, gdy opcja jest zmieniana, aby zmiany były skuteczne, demon powinien zostać ponownie uruchomiony. Podczas korzystania z SystemD poleceniem do uruchomienia jest:
$ sudo systemctl restart sshd
Zmiana portów używanych przez serwer
To jest tak się nazywa bezpieczeństwo poprzez niejasność
miara: domyślnie Sshd
Demon słucha w porcie 22
. Zmiana używanego portu nie poprawia bezpieczeństwa samego w sobie, ponieważ wykonanie skanowania portu jest trywialne i zobacz, jakie porty są używane przez maszynę. Często jednak próby logowania Brute Force po prostu są ukierunkowane na port domyślny, więc modyfikacja używanego portu może pomóc. Aby poinstruować demona, aby wysłuchał określonego portu, używamy Port
opcja i podaj numer portu:
Port 1024
Można zapewnić wiele wystąpień opcji: serwer będzie słuchać wszystkich określonych portów. Przed ponownym uruchomieniem serwera SSH, aby zmiana była skuteczna, bardzo ważne jest, aby odpowiednio zmodyfikować reguły zapory. Po stronie klienta, aby podłączyć za pomocą określonego portu, musimy określić numer portu za pomocą -P
opcja (skrót od -port). Na przykład, aby zalogować się za pomocą portu 1024, napisalibyśmy:
$ ssh -p 1024 egdoc@feanor
Aby uniknąć konieczności określenia portu za każdym razem, gdy łączymy się z serwerem, możemy skonfigurować wpis do niego w ~/.ssh/config
Plik (być może będziemy musieli go utworzyć, ponieważ nie istnieje domyślnie i musimy go udostępnić tylko przez użytkownika), jak w poniższym przykładzie:
Gospodarz Feanor HostName 192.168.0.39 Port 1024
W ten sposób, za każdym razem, gdy będziemy próbować SSH w dopasowanie Gospodarz
(Feanor w tym przypadku) Parametry określone w powiązanej zwrotce pliku konfiguracji SSH będą stosowane automatycznie.
Zmiana adresu, na którą serwer słucha
Oprócz portu Sshd
Demon słucha, możemy również zmienić Słuchaj adresu
. Domyślnie serwer słucha wszystkich adresów lokalnych. Przykłady składni do użycia z tą opcją można już znaleźć w pliku konfiguracyjnym SSH:
#ListenAddress 0.0.0.0 #ListenAddress ::
Możemy określić adres na jeden z następujących sposobów:
- Host | Adres IPv4 | Adres IPv6
- Host | Adres IPv4: port
- Host | Adres IPv6: port
Wywołana jest opcja użycia Słuchajaddress
Dozwolone jest wiele wystąpień opcji, aby określić wiele adresów. Możemy użyć IPv4
Lub IPv6
adres i opcjonalnie określ port do użycia. Jeśli nie określamy portu, Sshd
Daemon będzie słuchać portu określonego za pomocą Port
opcja, którą widzieliśmy powyżej.
Zmiana maksymalnego czasu logowania
Możemy skonfigurować OpenSsh
demon, aby odłączyć się po określonej ilości czasu, jeśli użytkownik nie z powodzeniem się zaloguje. W takim przypadku wywołana jest opcja, którą chcemy zmienić Logowanie
. Wszystko, co musimy zrobić, to zapewnić wartość limitu czasu, na przykład:
LogingraceTime 2M
Wartość domyślna dla tej opcji to 120
(sekundy)
Zezwalaj lub zaprzecz zalogowanie się jako root
Za pomocą Pertrootlogin
opcja możemy ustalić, czy Sshd
Demon powinien pozwolić użytkownikowi root bezpośrednio zalogować się. Opcja akceptuje jedną z tych wartości:
- Tak
- NIE
- Zakaz słowa
- Wymuszone tylko commands
Pierwsze dwie wartości są dość oczywiste. Podczas używania Tak
Użytkownik root może zalogować się za pośrednictwem SSH, podczas używania NIE
Ta możliwość jest odrzucona. Zakaz słowa
I Wymuszone tylko commands
Wartości są bardziej interesujące.
Kiedy ten pierwszy
jest używany jako wartość Pertrootlogin
Opcja, interaktywne loginy hasła i klawiatury są wyłączone, ale użytkownik root może zalogować się za pomocą klucz publiczny
. Jeśli Wymuszone tylko commands
jest używany, zamiast tego logowanie root za pomocą uwierzytelniania klucza publicznego jest dozwolone, ale tylko wtedy, gdy Komenda
Opcja jest określona w autoryzowanym kluczu. Na przykład:
command = "ls -a" ssh -rsa […]
Powyżej określliśmy LS -A
jako polecenie klucza SSH, które będzie używane przez root. W ten sposób podczas łączenia za pomocą klucza polecenie zostanie wykonane, a następnie połączenie z serwerem zostanie zamknięte. Sprawdźmy to (tutaj założyłem, że klucz jest już na miejscu i został autoryzowany na serwerze):
$ ssh root@feanor Wprowadź hasło dla klucza/home/egdoc/.ssh/id_rsa ':… bash_history .Bashrc .profil .ssh .krzepa .połączenie Viminfo z Feanor zamknięte.
Zmiana próby logowania maksymalnego i maksymalna liczba otwartej sesji
Kolejne dwa parametry, które możemy chcieć zmienić, to liczba próby logowania na połączenie i dozwolona liczba otwartych powłok, logowania lub sesji podsystemu. Możemy zmienić poprzedni parametr za pomocą Maxauthtries
opcja, podając liczbę dozwolonych prób (wartość domyślna to 6
). Te ostatnie można zmodyfikować za pomocą Maxsessions
opcja. Ta opcja ma również wartość całkowitą, domyślną istotą 10
.
Wyświetl wiadomość, gdy użytkownik próbuje uwierzytelnić się na serwer
Możemy użyć Transparent
Opcja określenia pliku zawierającego tekst, który chcemy wysłać do użytkownika, zanim uwierzytelni się z serwerem. Wartość domyślna dla opcji to nic
, Więc nie wyświetla się żaden baner. Oto przykład. Utworzony przez nas plik/etc/ssh/baner zawiera jakiś tekst, którego używamy jako wiadomość. Jeśli ustawiamy opcję jak poniżej:
Baner/etc/ssh/banner.tekst
Kiedy próbujemy się zalogować, otrzymujemy następujący wynik:
$ ssh egdoc@feanor ############################### # Test Banner # ########## #######################@hasło Feanor:
Włączanie/wyłączenie hasła i uwierzytelniania pubkey.
Sshd
Demon zapewnia wiele sposobów uwierzytelniania użytkowników. Możemy wybrać włączenie lub wyłączenie uwierzytelnienia za pomocą hasła lub klucza publicznego odpowiednio za pomocą HasłoAuthentication
I Pubkeyauthentication
opcje. Domyślnie obie opcje są zwykle ustawiane Tak
: Oznacza to, że użytkownik może połączyć się z serwerem, podając swoje hasło, a także za pomocą klucza publicznego, który jest właścicielem (klucz można również chronić hasłem). Aby wyłączyć jedną z dwóch opcji, których po prostu używamy NIE
jako wartość. Na przykład, jeśli tylko chcemy umożliwić zalogowanie się przez klucze publiczne, możemy ustawić:
Hasło Automatyka nr
W ten sposób tylko użytkownicy, którzy mają klucz publiczny
zawarty w pliku autoryzowanym klucze będzie mógł zalogować się do serwera. Autoryzowany plik kluczy jest plik, który zawiera dozwolone klucze publiczne. Domyślnie plik jest .ssh/autoryzowane_keys
w katalogu domowym użytkownika na serwerze, ale można to zmienić za pomocą Autoryzowany Fiysfile
opcja i określenie alternatywnego pliku, zapewniając albo absolutny
lub względny
ścieżka. Gdy stosuje się ścieżkę względną, jest uważana za w stosunku do katalogu domowego użytkowników. Opcję można również ustawić na nic
: W ten sposób serwer nie będzie wyszukiwał kluczy publicznych w plikach.
Włączanie/wyłączanie hostbasedAuthentication
Serwer OpenSSh można ustawić tak, aby zaakceptować oparte na hosta
uwierzytelnianie. Podczas korzystania z tego rodzaju uwierzytelnienia host uwierzytelnia się w imieniu wszystkich lub niektórych użytkowników. Opcja jest ustawiona na NIE
domyślnie. Ustawienie opcji do Tak
nie wystarczy, aby uwierzytelnianie oparte na hostach działało.
Włączanie/wyłączanie przekazywania x11
X11
System okienny ma architekturę klient-serwer: klienci to wiele aplikacji graficznych żądających połączenia z serwerem, który zarządza wyświetlacz. Serwer X11 i jego klienci często działają na tym samym komputerze, ale nie jest to konieczne. Możliwe jest dostęp do zdalnego serwera X11 za pośrednictwem dedykowanego, ale niezabezpieczonego protokołu. OpenSsh
Uruchommy połączenie bezpiecznie, tworząc zaszyfrowany tunel. Opcja kontrolująca to zachowanie jest X11fording
. Ta funkcja jest ogólnie wyłączona domyślnie, więc jest ustawiona NIE
.
Musimy ustawić opcję Tak
Jeśli chcemy z tego skorzystać. Po stronie klienta włączamy funkcję za pomocą -X
opcja z wiersza poleceń lub ustaw Napastnik11
Do Tak
W pliku konfiguracyjnym klienta. Na przykład, powiedzmy, że X11 działa na zdalnej maszynie; Chcemy użyć połączenia SSH do uruchomienia aplikacji „Pluma” (lekki edytor tekstu) i kontrolować ją za pomocą x11Forging. Biegniemy:
$ ssh egdoc@feanor -x pluma
Program zostanie uruchomiony. W pasku tytułu wyraźnie widzimy, że działa on na „Feanor”, który jest nazwą zdalnej maszyny.
Przekazanie x11 w akcji
Wniosek
W tym samouczku widzieliśmy, jakie jest domyślne Sshd
Plik konfiguracyjny demona i dowiedzieliśmy się, w jaki sposób możemy użyć alternatywnej, określając jego ścieżkę z -F
Opcja podczas uruchamiania usługi. Przyjrzeliśmy się również jednym z najbardziej przydatnych opcji, jakie możemy użyć we wspomnianym pliku, aby zmienić zachowanie SSHD. Widzieliśmy, jak zezwolić na uwierzytelnienia oparte na hasłach lub zaprzeczenie hasłem; Jak włączyć lub zaprzeczyć logowanie korzeni; Jak włączyć lub wyłączyć funkcję przekazywania x11 i jak sprawić, by serwer wyświetlał komunikat, gdy użytkownik próbuje na nią uwierzytelnić.
Widzieliśmy również, jak określić maksymalne dozwolone próby logowania na połączenie i jak zmienić adresy i porty, do których serwer służy. Aby dowiedzieć się więcej o możliwych konfiguracjach serwerów, zapoznaj się z ręką dla SSHD i pliku konfiguracyjnego SSHD_CONFIG.
Powiązane samouczki Linux:
- Rzeczy do zainstalowania na Ubuntu 20.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Jak w pełni wykorzystać OpenSsh
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Linux: Ustaw ssh
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
- Rzeczy do zainstalowania na Ubuntu 22.04
- Jak monitorować aktywność sieciową w systemie Linux
- Zainstaluj Arch Linux na stacji roboczej VMware
- Pobierz Linux
- « Nie można dostać blokady var lib dpkg lock - Ubuntu/Debian
- Zainstaluj i skonfiguruj MySQL Workbench na Ubuntu Linux »