SSH lub Secure Shell Protocol służy do zdalnego logowania się do maszyny i uruchamiania poleceń na zdalnej maszynie. Dane przesyłane za pomocą protokołu SSH są szyfrowane specjalnymi algorytmami, co sprawia, że SSH jest bezpieczniejszy niż Telnet. Zasadniczo OpenSSH to narzędzie, które implementuje ten protokół.
Co obejmiemy?
W tym przewodniku zbadamy różne aspekty pliku konfiguracyjnego serwera OpenSSH. Zacznijmy teraz.
Pliki konfiguracyjne OpenSsh
Istnieje kilka podstawowych plików zarówno dla klienta OpenSSH, jak i serwera. Ma dwa typy plików konfiguracyjnych:
1. Pliki związane ze stroną klienta: Jednym z plików jest ssh_config. Jest to plik konfiguracyjny całego systemu. Ten plik znajduje się pod adresem /etc/ssh/ssh_config.
Drugi plik to konfiguracja, która jest specyficznym dla użytkownika plik konfiguracyjnym zlokalizowanym pod adresem $ home/.ssh/config.
Program SSH na hoście przyjmuje konfigurację z tych plików lub za pośrednictwem interfejsu wiersza poleceń. W przypadku wcześniej wymienionych plików plik konfiguracyjny w całym systemie, który jest ssh_config, ma priorytet w stosunku do pliku „konfiguracyjnego” specyficznego dla użytkownika.
2. sshd_config: Jest to powiązane ze stroną serwera. Serwer OpenSsh odczytuje ten plik, gdy się uruchomi.
Odkrywanie Sshd Plik konfiguracyjny
Plik konfiguracji SSHD zawiera wiele dyrektyw, które można również dostosować. Spójrzmy na domyślny układ tego pliku:
$ cat/etc/ssh/sshd_config
# To jest plik konfiguracyjny systemu komputerowego serwera SSHD. Widzieć
# sshd_config (5) Aby uzyskać więcej informacji.
Port 222
SłuchajadDress 0.0.0.0
Słuchajaddress ::
Hostkey/etc/ssh/ssh_host_key
ServerKeyBits 768
Logowanie 600
KeyreGenerationInterval 3600
Pertrootlogin Tak
Ignorerhosts tak
StrictModes tak
X11 wściekłość nr
Zezwolenie dla nr
Permittty no
X11Displayoffset 10
PrintMotd Tak
Keepalive tak
SYSLOGFACILE Auth
Informacje o logowaniu
RhostsAuthentication nr
RHOSTSRSAAuthentication nr
RSAAuthentication Tak
HasłoAuthentication Tak
Zezwolenie na słowa nr
Checkmail nr
Każda linia, która zaczyna się od „#”, jest traktowana jako komentarz. Zbadajmy niektóre z podanych parametrów:
1. Dyrektywa portu określa numer portu. To jest numer portu, na którym Sshd słucha połączeń. Wartość domyślna dla tego portu to 22, co jest standardem. Jednak w naszym przypadku zmieniliśmy to na 222.
Możemy również określić więcej niż jedną dyrektywę portu. W ten sposób możemy użyć wielu portów do słuchania w połączeniach SSHD.
2. Słuchanie zawiera adres IP do słuchania. Domyślną działaniem jest słuchanie na wszystkich adresach IP związanych z serwerem. Zwróć również uwagę, że dyrektywa portu musi zastąpić dyrektywę Słuchaj.
3. W pełni wykwalifikowana ścieżka plik hosta hosta prywatnego jest określona przez dyrektywę Hostey. W poprzednim przypadku ścieżka jest /etc/ssh/ssh_host_key.
4. Dyrektywa Perfitrootlogin umożliwia login root dla SSHD, gdy jest ustawiona na tak. Powinno to być ustawione na nie, chyba że hosty.Zezwalaj i gospodarze.Odmowa pliki są używane do ograniczenia dostępu do SSHD.
5. Dyrektywa x11 pozwala na przekazywanie systemu okien X, gdy jest ustawiony na tak.
6. Który obiekt syslogowy Sshd powinno być określone przy użyciu dyrektywy SYSLOGFACILE. Zachowaj wartość domyślną, jaka jest.
7. Poziom rejestrowania Syslog jest określony za pomocą dyrektywy LogLevel.
Zmienianie Sshd Port
Domyślnie, Sshd lub Demon serwera OpenSsh używa portu 22 protokołu TCP. Zaleca się zmienić ten numer portu na inną wartość w środowisku testowym. Zapewnia to nas, że łączność serwera jest dostępna przez cały czas.
Ponadto dobrą praktyką jest sprawdzenie składni konfiguracji nowego pliku SSHD_CONFIG przed użyciem, niezależnie od tego, który port uruchomiony. Aby sprawdzić składnię, możemy użyć następującego polecenia:
$ sshd -t
Należy również zauważyć, że tylko użytkownik Root powinien być w stanie odczytać i zapisać do tego pliku. Oznacza to, że jeśli plik konfiguracyjny SSHD_CONFIG jest odpowiednio zabezpieczony, uruchamianie poprzedniego polecenia potrzebuje organu głównego.
Jeśli nie pojawi się wyjście podczas uruchamiania poprzedniego polecenia weryfikującego składnię, oznacza to, że plik jest w porządku.
Modyfikacja domyślnego pliku konfiguracyjnego i portu
W niektórych przypadkach chcemy uruchomić nową instancję Sshd na innym porcie. Może to wynikać z faktu, że port 22 jest już w użyciu lub może istnieć pewne obszary ryzyka w zmianie tego portu w środowisku produkcyjnym. W takich rodzajach sytuacji możemy utworzyć alternatywny plik konfiguracyjny dla naszego serwera.
Utwórzmy nowy plik sshd_config jako sshd_config_new. Ten plik może być używany dla niektórych różnych parametrów serwera. Teraz określmy ten plik, który można uznać za nowy plik konfiguracyjny serwera na numerze portu 100:
$ sudo/usr/sbin/sshd -f/etc/ssh/sshd_config_new -p 100
Demon SSHD słucha teraz w porcie 100. Możemy użyć dowolnej wartości portu, ale nie tej, która jest już używana.
Teraz sprawdźmy, czy nasz nowy port działa zgodnie z żądaniem. W tym celu musimy użyć programu klienta SSH i uruchomić następujące polecenie:
$/usr/bin/ssh -p 100
Opcja „-p” określa port 100 do użycia na zdalnym serwerze. Jeśli testujemy lokalnie, możemy użyć adresu IP serwera jako IP LocalHost:
$/usr/bin/ssh -p 100 127.0.0.1
Rozwiązywanie problemów OpenSSH konfiguracja
Czasami nasz serwer nie działa zgodnie z potrzebami. W takich przypadkach możemy użyć flagi „-D” do rozwiązywania problemów z konfiguracją serwera OpenSsh. Za pomocą flagi „-D” serwer wchodzi w tryb debugowania i obsługuje tylko jedno połączenie.
Wyjście, które jest wytwarzane w trybie debugowania. Możemy użyć więcej flag „-D”, aby podnieść poziom debugowania. Uruchommy polecenie debugowania na naszym serwerze za pomocą nowego pliku konfiguracyjnego:
$/usr/sbin/sshd -d -p 100 -f/etc/ssh/sshd_config_new
Dane wyjściowe z poprzednich dzienników poleceń do STDDERR zamiast korzystania z Authility of Syslogd.
Wniosek
OpenSsh Daemon lub SSHD jest kluczową częścią wielu infrastruktur administracyjnych. W związku z tym wymaga wiedzy specjalistycznej, aby zarządzać nim w celu optymalnego działania. W tym artykule dowiedzieliśmy się o pliku konfiguracyjnym serwera OpenSSH, takim jak SSHD_CONFIG.