Secure shell

ssh (Secure SHell) jest narzędziem umożliwiającym szyfrowany dostęp do linii poleceń innego komputera. Składa się z dwóch części: - serwera – części działającej po stronie systemu na który się logujemy, konfigurowanego przez administratora systemu - klienta – części użytkownika, służącego do połączenia się z systemem, gdzie już działa serwer. To ćwiczenie obejmuje obsługę klienta ssh.

Klient ssh pozwala na nawiązanie szyfrowanego połączenia z innym komputerem i wykonanie na nim różnych operacji:

(* zaznaczone są elementy omówione w ćwiczeniu)

Program kliencki: ssh, podstawowe użycie:

$ ssh użytkownik@adres-serwera

Tu następuje pytanie o hasło. Uwaga: wpisywane znaki hasła nie są widoczne w terminalu.

Po pomyślnym zalogowaniu na serwerze tworzony jest wirtualny terminal, w którym uruchamiany jest interpreter poleceń. Połączenie trwa do momentu zamknięcia interpretera poleceń. Przypomnienie: interpretery typu sh można zakończyć za pomocą poleceń exit, logout lub końcem pliku (Ctrl-D) w pustej linii.

Aby upewnić się na którym systemie działa aktualnie widziana powłoka można użyć polecenia hostname:

$ hostname

Warto też zwrócić uwagę, że domyślna konfiguracja powłoki na systemach wydziałowych wyświetla hostname w ramach zachęty (prompt).

Wydział posiada serwer pozwalający na dostęp ssh: ssh.mini.pw.edu.pl Serwer między innymi pozwala na dostęp do plików z macierzy dyskowej.

Używają one tego samego systemu uwierzytelniania, co stacje robocze: należy zalogować się swoim loginem i hasłem.
Szczegóły i regulamin korzystania z serwerów: http://lab.mini.pw.edu.pl/

$ ssh <login>@ssh.mini.pw.edu.pl 

Wyświetlić listę plików – ta sama macierz dyskowa co w lab. Rozłączyć się.

Kopiowanie plików: scp i sftp.

W zależności od konfiguracji serwera któraś z metod kopiowania może być niedostępna.

scp (bardziej popularny)

scp – składnia polecenia scp przypomina składnię cp:
scp <login>@<host>:<ścieżka> <login2>@<host2>:<ścieżka>
scp -r <login>@<host>:<ścieżka> <login2>@<host2>:<ścieżka> – gdy chcemy kopiować katalogi

Pierwszy argument to plik (lub pliki) źródłowe, drugi – plik lub katalog docelowy. Dokładnie jak w
cp. Pierwsza część argumentu login@host: wskazuje serwer zdalny na którym jest dany plik (źródłowy lub docelowy). Aby odwołać się do ścieżki lokalnej, należy pominąć tę część. Na przykład, aby skopiować plik na zdalny serwer:

$ scp plik.lokalny.txt <login>@ssh.mini.pw.edu.pl:plik.zdalny

Uwaga: ścieżki względne na zdalnym serwerze są względem katalogu domowego użytkownika. Można też użyć ścieżek bezwzględnych:

$ scp <login>@ssh.mini.pw.edu.pl:/etc/passwd passwd.ssh

Spróbować skopiować pliki z maszyny lokalnej na ssh i w drugą stronę.

sftp (mniej popularny)

Serwer dostępu do macierzy dyskowej (drive) – drive.mini.pw.edu.pl – udostępnia tylko dostęp poprzez sftp.

Wywołanie:

$ sftp <login>@drive.mini.pw.edu.pl # logowanie na zdalny serwer drive

Interfejs programu sftp jest wzorowany na używanym kiedyś do przesyłu plików programie ftp. sftp uruchamia własną linię poleceń i własne polecenia do przesyłu plików, najważniejsze:

  • cd – zmiana katalogu na zdalnej maszynie
  • lcd – zmiana katalogu na lokalnej maszynie
  • get plik – skopiowanie zdalnego pliku plik na maszynę lokalną
  • put plik – skopiowanie lokalnego pliku plik na maszynę zdalną
  • bye – zakończenie sftp

Pełna lista poleceń w podręczniku systemowym do sftp.