Przejdź do treści

Zestaw 4

  1. Klucze SSH.

    • Wpisywanie hasła każdorazowo przy logowaniu się do ssh może być męczące.
    • Poprzez ssh-keygen wygeneruj klucz prywatny i klucz publiczny (patrz notatki).
    • Zbadaj zawartość plików, zawierających te klucze -- czym się różni publiczny klucz od prywatnego?
    • Skopiuj klucze na serwer studencki za pomocą ssh-copy-id.
    • Zaloguj się na serwer studencki przez ssh jak zwykle -- czy musiałeś podawać hasło?
    • Można sobie uprościć życie jeszcze bardziej, definiując skrót zamieniający z1234567@student.tcs.uj.edu.pl (patrz notatki).
  2. Zdalne kopiowanie plików.

    • Konsultuj się z notatkami w razie wątpliwości.
    • Za pomocą scp, pobierz cały katalog /tmp/srodowisko/scp na swoją maszynę lokalną (UWAGA: należy użyć odpowiedniej flagi, żeby pobrać również wszystkie podkatalogi).
    • Za pomocą scp, wyślij ten katalog z maszyny lokalnej do swojego katalogu domowego na serwerze studenckim. (UWAGA: użyj flagi -p, żeby zachować metadane plików).
    • Wykonaj poprzednią operację, ale używając rsync zamiast scp: rsync -av --itemize-changes ./scp/ z1234567@student.tcs.uj.edu.pl:~/scp/
    • Na maszynie lokalnej, zmień zawartość pliku to-change.txt na wyjście komendy hostname. Stwórz nowy plik w tym samym katalogu pod nazwą created.txt.
    • Wykonaj rsync, żeby odświeżyć zawartość katalogu na serwerze studenckim (UWAGA: najpierw użyj flagi --dry-run, która wypisze hipotetyczny efekt wykonania polecenia, ale nie wykona kopiowania).
    • Odpal ls -al ./scp na serwerze studenckim -- które pliki mają świeży czas modyfikacji?
  3. Komendy grep i curl.

    • Pod adresem https://srodowisko.tcs.uj.edu.pl/observatory.log znajduje się plik zawierający logi systemowe fikcyjnej stacji pomiarowej.
    • Zaloguj się na serwer studencki i pobierz ten plik za pomocą curl. Sprawdź zawartość tego pliku.
    • Używając tylko grep (potrzebne flagi znajdziesz w dokumentacji man grep):
    • Wypisz wszystkie linie z poziomem 'ERROR';
    • Policz linie z poziomem 'ERROR';
    • Wypisz wszystkie linie zawierające słowo 'timeout' bez względu na wielkość liter;
    • Zapisz wszystkie linie z poziomem 'WARN' do nowego pliku warnings.txt;
    • Znajdź zaakceptowany wpis dotyczący 'sample=SMP-204'.
    • Skrypt /tmp/srodowisko/stream_demo.sh wypisuje "dobre" logi na standardowe wyjście stdout, a ostrzeżenia/błędy na standardowe wyjście błędów stderr.
    • Uruchom skrypt, przekierowując tylko ostrzeżenia/błedy do nowego pliku errors.txt.
    • Żeby ignorować błędy, można je przekierowywać do (systemowego) pliku /dev/null.
  4. Edytor plików nano. Żeby edytować plik (tekstowy) example.txt, wystarczy odpalić nano example.txt. Zapoznaj się z podstawami nano np. na tej stronie.

Zgłoś rozwiązania:

  1. Operation Nightjar. W katalogu /tmp/srodowisko/nightjar znajduje się plik briefing.md. Podążaj za instrukcjami w nim.

  2. Zadanie domowe: edytor plików vim. Edytor vim jest trudniejszy do opanowania niż nano, ale oferuje znacznie więcej funkcjonalności. Po zalogowaniu się na serwer studencki, odpal w terminalu vimtutor -- program, który nauczy cię podstaw vima.