INSTALACJA I KONFIGURACJA SSH
Agata Gałczyńska,
agatag@alan.umcs.lublin.pl
instalacja SSH | konfiguracja sshd | konfiguracja ssh
Do instalacji oprogramowania dostarczonego w formie źródłowej niezbędny jest kompilator C, oraz podstawowe narzędzia dostarczane z większością systemów unixowych.
W trakcie instalacji utworzone zostają następujące pliki:
Dodatkowo do podkatalogów w hierarchii /usr/local/man zostaną zainstalowane strony dokumentacji do poszczególnych komend plików konfiguracyjnych.
Głównym elementem serwera SSH jest demon sshd. Zastępuje on dwa programy, które znajdują się w większości dystrybucji: rlogin i rsh. Służy do prowadzenia bezpiecznej (kodowanej) komunikacji pomiędzy dwoma komputerami w sieci.
Sshd odczytuje konfigurację z /etc/ssh/sshd_config (lub z pliku określonego w linii poleceń, w opcji -t). Plik ten zawiera pary: klucz - wartość. Każda z nich jest zapisana w jednej linii. Linie puste i zaczynające się od znaku '#' są traktowane jako komentarz i są pomijane.
Opis pliku konfiguracyjnego serwera ssh1 - /etc/ssh/sshd_config:
| # This is ssh server systemwide configuration
file. Port 22 |
domyślny port dla ssh to właśnie 22 |
| ListenAddress 148.81.XXX.XXX | adres, gdzie jest zainstalowany serwer (demon) sshd obsługujący ssh1.Ustawienie jest istotne przy systemach o kilku kartach sieciowych (na przykład rutery lub bramki). Najwygodniej ustawić wtedy adres IP tej karty sieciowej, do której połączenia będą częstsze lub do karty od strony sieci zewnętrznej. |
| HostKey /etc/ssh_host_key RandomSeed /etc/ssh_random_seed |
Położenie pliku z kluczem oraz parametrem losowym |
| KeyRegenerationInterval 3600 | Co pewien czas następuje odnowienie klucza maszyny. Ten czas (w sekundach) ustawia się właśnie za pomocą tej opcji. Domyślnie - 1 godzina. |
| PermitRootLogin no | Czy root może się zalogować zdalnie za pomocą ssh. Patrz uwagi dalej. |
| IgnoreRhosts yes IgnoreRootRhosts yes RhostsAuthentication no RhostsRSAAuthentication no |
Ignorowanie plików .rhosts, które wskazują "zaufane" maszyny, skąd mógłby się zalogować użytkownik bez podawania hasła oraz zezwalanie na autentykację za pomocą mechanizmu rhosts. |
| PrintMotd yes | Czy wypisywać komunikat powitania (motd - najczęściej /etc/motd) |
| X11Forwarding yes XAuthLocation /usr/bin/X11/xauth |
Czy przekazywać dane połączenia X11 (graficznego) i za pomocą którego programu dokonywać autentykacji użytkownika w środowisku graficznym X-Windows |
| # {Allow,Deny}Users | Groups DenyGroups student |
Zezwolenie na logowanie się za pomocą ssh. Patrz dalej. |
| # najbezpieczniejsza jest autentykacja RSA
(tylko) - a reszta no RSAAuthentication yes |
Wybór metody autentykacji. Włączyć TYLKO RSA. |
| PasswordAuthentication yes PermitEmptyPasswords no IdleTimeout 30m |
Autentykacja za pomocą haseł - włączanie, zezwolenie na puste hasła oraz czas rozłączania podczas oczekiwania na podanie hasła (tutaj- 30 minut). |
| # AllowHosts *.our.com
friend.other.com DenyHosts home.pl *.algonet.se krakow.tpnet.pl opole.tpnet.pl |
Z których maszyn można się łączyć za pomocą ssh. Patrz dalej. |
| CheckMail no | Czy po zalogowaniu ma się odbywać sprawdzanie poczty. |
| AllowTcpForwarding no | Przy takim ustawieniu nie jest możliwe tunelowanie ftp, ale maszyna jest bezpieczniejsza. |
| AccountExpireWarningDays 30 | Powiadamianie o kończeniu się ważności konta (dni) |
| PasswordExpireWarningDays 14 | Powiadamianie o kończeniu się ważności hasła (dni) |
| ForcedPasswdChange yes | Wymuszanie zmiany już nieważnego hasła |
Ogólnosystemowa konfiguracja klienta ssh znajduje się w pliku /etc/ssh/ssh_config, zaś opcje konfiguracyjne sprawdzane są w następującej kolejności:
Opis pliku konfiguracyjnego klienta ssh1 - /etc/ssh/ssh_config:
| Hosts * | Otwiera sekcję dotyczącą połączeń do danego hosta - * oznacza wszystkie hosty |
| ForwardAgent yes | Określa, czy agent autentykacyjny ma być przekazywany na kolejne systemy na które następuje logowanie |
| ForwardX11 yes | Zezwala na automatyczne przekazywanie połączeń X11 ponad szyfrowanym kanałem SSH |
| RhostsAuthentication no RhostsRSAAuthentication no |
Zezwalanie na autentykację za pomocą mechanizmu rhosts. |
| PasswordAuthentication yes | Autentykacja za pomocą haseł |
| RSAAuthentication yes TISAuthentication no |
Wybór metody autentykacji (wybrać tylko RSA) |
| PasswordPromptHost yes PasswordPromptLogin yes |
Czy program ma pytać o hasła. |
| FallBackToRsh no UseRsh no |
Możliwość użycia rsh w przypadku niepowodzenia połączenia za pomocą ssh. Można włączać, ale administrator zdalnej maszyny prawie na pewno to wyłączył. |
| BatchMode no | Możliwość użycia ssh w trybie wsadowym. Wyłączyć gdy nie jest koniecznie potrzebne. Może się przydać tylko w kilku przypadkach. |
| EscapeChar ~ | Jaki znak powoduje wyjście z połączenia (jak w telnecie ctrl+]) |
| Cipher 3DES | Algorytm stosowany do szyfrowania przy połączeniu ze zdalną maszyną. |
| Compression yes CompressionLevel 9 |
Kompresja - domyślnie jest włączona, poziom - 6. Dziewięć jest najwyższym, 0 wyłącza. |
| IdentityFile ~/.ssh/identity | Położenie i nazwa pliku identyfikacji |