SSH to standard protokołów komunikacyjnych, które umożliwiają:
Konfiguracja serwera mieści się w katalogu /etc/ssh/sshd_config (proszę nie pomylić z ssh_config — bez d w środku).
By zapoznać się z tym co można skonfigurować w tym pliku, proszę przejrzeć stronę manuala: man sshd_config.
Wyłączyć logowanie ssh dla użytkowników foo oraz root.
Po wykonaniu zmian należy zrestartować serwer wykonując polecenie:
sudo service ssh restart
Logowanie za pomocą klucza publicznego jest “lepszą” alternatywą dla logowania za pomocą haseł.
Logowanie na zdalną maszynę:
ssh username@ip
Przy pierwszym logowaniu pojawi się ostrzeżenie:
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:
Mówi ono że:
Klient generuje parę kluczy, zwanych publicznym i prywatnym, klucze te (nie będę wchodził w kryptograficzne szczegóły) pozwalają na wykonanie kryptograficznego podpisu jakiejś wiadomości. Klucz prywatny pozwala na podpisanie wiadomości, a publiczny na weryfikację poprawności podpisu. Mając klucz publiczny nie da się ani podpisać wiadomości, ani uzyskać klucza prywatnego.
Note
Procedura logowania za pomocą klucza wygląda tak:
Klucze mają następujące przewagi nad hasłami:
By wygenerować klucz należy wykonać polecenie ssh-keygen, można podać hasło do klucza, ale na dziś sobie to darujemy. Polecenie to wykonujemy na komputerze, z którego chcemy się zalogować.
Polecenie ssh-keygen stworzyło dwa pliki:
Plik $HOME/.ssh/authorized_keys zawiera listę kluczy publicznych, po jednym w każdej linii. Klucz prywatny powiązany z dowolnym z tych kluczy publicznych może posłużyć do logowania się do serwera.
Uwaga! Zarówno folder $HOME/.ssh/ oraz pliki w środku muszą mieć uprawnienia do czytania tylko przez użytnownika (np. chmod 600).
Uwaga 2! Postępowanie - generujemy na komputerze, z którego się logujemy, klucz prywatny i publiczny. Klucz publiczny wysyłamy na komputer, na który chcemy się zalogować (do folderu ~/.ssh). W komputerze, na który chcemy sie zalogować kopiujemy zawartość klucza publicznego do pliku authorized_keys.
Zalogować się na maszynę virtualną za pomocą klucza ssh.
Firewall to oprogramowanie pozwalające na kontrolę pakietów IP przetwarzanych przez maszynę.
W systemach GNU/Liunux firewall jest częścią jądra systemu i można go kontrolować za pomocą polecenia iptables, polecenie to jednak nie jest bardzo przyjazne, więc poznamy bardzo prostą nakładkę na iptables: mianowicie program ufw.
Proszę zainstalować firewall ufw, a następnie korzystając z informacji z man ufw:
NFS to sieciowy system plików, w zasadzie jeden z wielu siecowych systemów plików, przykłady innych to:
By zainstalować narzędzia nfs należy zainstalować dwie paczki: nfs-kernel-server oraz nfs-common, pierwsza służy do udostępniania katalogów, druga do montowania katalogów już udostępnionych.
Proszę:
Zainstalować NFS
Konfiguracja NFS jest w katalogu /etc/exports, korzystając z man exports udostępnić katalog /home/<<waszlogin>>/foo dla całego laboratorium (tj. dla sieci 192.168.1.0/24), do odczytu i zapisu
Zamontować sobie katalog który udostępnił jakaś koleżanka/kolega i następnie zapisać coś w tym katalogu.
Do montowania plików i katalogów służy polecenie mount <skąd> <dokąd>, <dokąd> musi być istniejącym katalogiem lokalnym. <skąd> w przypadku nfs ma postać server:/ścieżka.
Uwaga! Po zmianie pliku /etc/exports należy zrestartować serwer nfs (/etc/init.d/nfs-kernel-server restart) oraz wykonać: /etc/init.d/rpcbind restart