Uruchomienie serwera SSH, logowanie, kopiowanie plików przez scp, zmiana portu i blokada roota w sshd_config. Dokładnie te czynności, które wracają w arkuszach INF.02.
SSH to szyfrowany, zdalny dostęp do terminala serwera. Działa domyślnie na porcie 22 TCP. W arkuszach INF.02 zadania z SSH sprowadzają się do trzech czynności: uruchomić usługę, połączyć się z innym komputerem i zmienić coś w jej konfiguracji, najczęściej port albo dostęp dla roota.
Uruchomienie serwera
Na Ubuntu Server usługa nazywa się ssh, a pakiet openssh-server. Na stanowisku egzaminacyjnym pakiet jest zwykle już zainstalowany, więc pracujesz na usłudze:
sudo systemctl start ssh
sudo systemctl enable ssh
systemctl status ssh
enable włącza start usługi razem z systemem i o ten szczegół zadania regularnie pytają. To, czy serwer nasłuchuje, sprawdzisz poleceniem ss -tulpn: na liście powinien być port 22 (albo inny, jeśli go zmieniasz).
Łączenie się i kopiowanie plików
zaloguj się na serwer
ssh jan@192.168.0.10
zaloguj się na innym porcie
ssh -p 2222 jan@192.168.0.10
skopiuj plik na serwer
scp raport.txt jan@192.168.0.10:/home/jan/
skopiuj plik z serwera
scp jan@192.168.0.10:/etc/hostname .
Przy pierwszym połączeniu klient zapyta o odcisk klucza serwera: potwierdzasz wpisując yes. Potem podajesz hasło użytkownika, na którego się logujesz.
Konfiguracja: /etc/ssh/sshd_config
Ustawienia serwera mieszkają w /etc/ssh/sshd_config. W zadaniach najczęściej zmienia się dwie linie:
Port 2222
PermitRootLogin no
Po każdej zmianie konfiguracji zrestartuj usługę: sudo systemctl restart ssh. Jeśli zadanie każe ograniczyć logowanie roota albo przenieść usługę na inny port, to jest dokładnie to miejsce.
Logowanie kluczem zamiast hasła
Gdy zadanie wymaga logowania bez hasła, generujesz parę kluczy i wysyłasz klucz publiczny na serwer:
ssh-keygen
ssh-copy-id jan@192.168.0.10
Klucz prywatny zostaje w ~/.ssh/id_rsa (albo nowszym id_ed25519), publiczny trafia do ~/.ssh/authorized_keys na serwerze.
Typowe błędy z arkuszy
1.
Zmieniony port w sshd_config bez restartu usługi.
2.
Próba logowania na stary port po zmianie: pamiętaj o -p.
3.
Literówka w nazwie usługi: na Ubuntu to ssh, nie sshd (choć sshd bywa aliasem).
4.
Zapora blokująca nowy port, jeśli zadanie każe ją skonfigurować.