OnWorks Linux i Windows Online WorkStation

logo

Darmowy hosting online dla stacji roboczych

<Poprzedni | Spis treści | Następne>

Pamiętaj, że wyświetlenie okna terminala ze zdalnej maszyny jest również uważane za wyświetlenie obrazu.


obraz

10.4.4. Pakiet SSH


10.4.4.1. Wstęp


Większość systemów UNIX i Linux obsługuje obecnie Secure SHell, aby pominąć związane z tym zagrożenia bezpieczeństwa telnet. Większość systemów Linux będzie obsługiwać wersję OpenSSH, implementację protokołu SSH typu open source, zapewniającą bezpieczną szyfrowaną komunikację między niezaufanymi hostami w niezaufanej sieci. W standardowej konfiguracji połączenia X są przekazywane automatycznie, ale dowolne porty TCP/IP mogą być również przekazywane przy użyciu bezpiecznego kanału.


Połączenia ssh klient łączy się i loguje do określonej nazwy hosta. Użytkownik musi podać swoją tożsamość zdalnej maszynie, jak określono w sshd_config plik, który zwykle można znaleźć w /etc/ssh. Plik konfiguracyjny nie wymaga objaśnień i domyślnie udostępnia większość typowych funkcji. Jeśli potrzebujesz pomocy, znajdziesz ją w sshd strony podręcznika.


Gdy tożsamość użytkownika zostanie zaakceptowana przez serwer, serwer albo wykonuje podane polecenie, albo loguje się do maszyny i udostępnia użytkownikowi normalną powłokę na zdalnej maszynie. Cała komunikacja ze zdalnym poleceniem lub powłoką będzie automatycznie szyfrowana.


Sesja kończy się po wyjściu polecenia lub powłoki na zdalnym komputerze i zamknięciu wszystkich połączeń X11 i TCP/IP.


Łącząc się z hostem po raz pierwszy, korzystając z któregokolwiek z programów znajdujących się w kolekcji SSH, musisz ustalić autentyczność tego hosta i potwierdzić, że chcesz się połączyć:


Lenny ~> obiekt ssh

Nie można ustalić autentyczności hosta „blob (10.0.0.1)”. Odcisk palca RSA to 18:30:50:46:ac:98:3c:93:1a:56:35:09:8d:97:e3:1d. Czy na pewno chcesz kontynuować łączenie (tak/nie)? tak

Ostrzeżenie: na stałe dodano „blob,192.168.30.2” (RSA) do listy znanych hostów.

Ostatnie logowanie: sobota, 28 grudnia 13:29:19 2002 z oktarine To miejsce do wynajęcia.


Lenny jest w ~

Lenny ~> obiekt ssh

Nie można ustalić autentyczności hosta „blob (10.0.0.1)”. Odcisk palca RSA to 18:30:50:46:ac:98:3c:93:1a:56:35:09:8d:97:e3:1d. Czy na pewno chcesz kontynuować łączenie (tak/nie)? tak

Ostrzeżenie: na stałe dodano „blob,192.168.30.2” (RSA) do listy znanych hostów.

Ostatnie logowanie: sobota, 28 grudnia 13:29:19 2002 z oktarine To miejsce do wynajęcia.


Lenny jest w ~

Ważne jest, aby wpisać „tak” trzema znakami, a nie tylko „y”. To edytuje Twój ~/.ssh/znane_hosty

plik, patrz Sekcja 10.4.4.3.


Jeśli chcesz po prostu sprawdzić coś na zdalnym komputerze, a następnie wyświetlić monit z powrotem na lokalnym hoście, możesz podać polecenia, które chcesz wykonać zdalnie, jako argumenty ssh:


obraz

Lenny ~> ssh blob kto

hasło jenny@bloba:


korzeń

tty2

lipca

24

07:19

lena

tty3

lipca

23

22:24

lena

0:

lipca

25

22:03

Lenny ~> unazwa -n

magrat.example.com


obraz


10.4.4.2. Przekazywanie X11 i TCP


Jeśli X11 Przekazywanie wpis jest ustawiony na tak na maszynie docelowej, a użytkownik korzysta z aplikacji X, plik DISPLAY ustawiona zmienna środowiskowa, połączenie z wyświetlaczem X11 zostanie automatycznie przekazane na stronę zdalną w taki sposób, że dowolne programy X11 uruchamiane z powłoki przejdą przez zaszyfrowany kanał, a połączenie z prawdziwym serwerem X zostanie nawiązane z poziomu maszyna lokalna. Użytkownik nie powinien ustawiać ręcznie DISPLAY. Przekazywanie połączeń X11 można skonfigurować w wierszu poleceń lub w pliku sshd plik konfiguracyjny.


Wartość dla DISPLAY ustanowiony ssh wskaże maszynę serwera, ale z numerem wyświetlacza większym od zera. Jest to normalne i dzieje się dlatego, że ssh tworzy a pełnomocnik Serwer X na serwerze (na którym działa aplikacja kliencka X) w celu przekazywania połączeń zaszyfrowanym kanałem.


Wszystko to odbywa się automatycznie, więc kiedy wpiszesz nazwę aplikacji graficznej, zostanie ona wyświetlona na komputerze lokalnym, a nie na zdalnym hoście. Używamy xzegar w tym przykładzie, ponieważ jest to mały program, który jest zwykle instalowany i idealny do testowania:


Rysunek 10-3. Przekazywanie SSH X11


obraz


SSH automatycznie skonfiguruje również dane Xauthority na serwerze. W tym celu wygeneruje losowy plik cookie autoryzacyjny i zapisze go Xautorytet na serwerze i sprawdź, czy wszelkie przekazywane połączenia zawierają ten plik cookie i zastąp go prawdziwym plikiem cookie po otwarciu połączenia. Prawdziwy plik cookie uwierzytelniający nigdy nie jest wysyłany na serwer (i żadne pliki cookie nie są wysyłane w zwykły sposób).


Przekazywanie dowolnych połączeń TCP/IP przez bezpieczny kanał można określić w wierszu poleceń lub w pliku konfiguracyjnym.


obrazSerwer X

W tej procedurze założono, że masz działający serwer X na kliencie, na którym chcesz wyświetlić aplikację ze zdalnego hosta. Klient może mieć inną architekturę i system operacyjny niż zdalny host, o ile może uruchomić serwer X, taki jak Cygwin (który implementuje serwer X.org dla klientów MS Windows i innych) lub Exceed, powinno to być możliwe aby skonfigurować zdalne połączenie z dowolną maszyną z systemem Linux lub UNIX.


obraz

10.4.4.3. Uwierzytelnianie serwera


Połączenia ssh system klient/serwer automatycznie utrzymuje i sprawdza bazę danych zawierającą identyfikatory wszystkich hostów, z którymi kiedykolwiek był używany. Klucze hosta są przechowywane w $HOME/.ssh/znane_hosty w katalogu domowym użytkownika. Dodatkowo plik /etc/ssh/ssh_znane_hosty jest automatycznie sprawdzany pod kątem znanych hostów. Wszelkie nowe hosty są automatycznie dodawane do pliku użytkownika. Jeśli identyfikacja gospodarza kiedykolwiek ulegnie zmianie, ssh ostrzega o tym i wyłącza uwierzytelnianie hasłem, aby uniemożliwić końowi trojańskiemu uzyskanie hasła użytkownika.

Innym celem tego mechanizmu jest zapobieganie atakom typu man-in-the-middle, które w przeciwnym razie mogłyby zostać wykorzystane do obejścia szyfrowania. W środowiskach, w których wymagany jest wysoki poziom bezpieczeństwa, sshd można nawet skonfigurować tak, aby uniemożliwiać logowanie do komputerów, których klucze hosta uległy zmianie lub są nieznane.


obraz


10.4.4.4. Bezpieczne zdalne kopiowanie


Pakiet SSH zapewnia Scp jako bezpieczną alternatywę dla RCP polecenie, które było popularne tylko wtedy, gdy rsz

istniało. Scp zastosowania ssh do przesyłania danych, wykorzystuje to samo uwierzytelnianie i zapewnia takie samo bezpieczeństwo jak ssh. w odróżnieniu RCP, Scp poprosi o hasła lub hasła, jeśli są potrzebne do uwierzytelnienia:


lenny /var/tmp> scp Schedule.sdc.gz blob:/var/tmp/

hasło lenny@bloba:

Harmonogram.sdc.gz 100% |******************************| 100 kB 00:00


lenny /var/tmp>

lenny /var/tmp> scp Schedule.sdc.gz blob:/var/tmp/

hasło lenny@bloba:

Harmonogram.sdc.gz 100% |******************************| 100 kB 00:00


lenny /var/tmp>

Dowolna nazwa pliku może zawierać specyfikację hosta i użytkownika wskazującą, że plik ma zostać skopiowany do/z tego hosta. Dozwolone są kopie między dwoma zdalnymi hostami. Więcej informacji można znaleźć na stronach informacyjnych.


Jeśli wolisz używać interfejsu podobnego do FTP, użyj Sftp:


lenny /var/tmp> blob sftp Łączę się z blobem... hasło lenny@bloba:


sftp> cd /zmienna/tmp


sftp> zdobądź Sch*

Pobieranie /var/tmp/Schedule.sdc.gz do Schedule.sdc.gz sftp> bye

lenny /var/tmp>

lenny /var/tmp> blob sftp Łączę się z blobem... hasło lenny@bloba:


sftp> cd /zmienna/tmp


sftp> zdobądź Sch*

Pobieranie /var/tmp/Schedule.sdc.gz do Schedule.sdc.gz sftp> bye

lenny /var/tmp>


obrazBezpieczna kopia lub GUI FTP

Nie czujesz się jeszcze komfortowo z wierszem poleceń? Wypróbuj możliwości Konquerora w zakresie bezpiecznego zdalnego kopiowania lub zainstaluj Putty.


obraz


10.4.4.5. Klucze uwierzytelniające


Połączenia ssh-keygen polecenie generuje, zarządza i konwertuje klucze uwierzytelniające ssh. Może tworzyć klucze RSA do użytku przez protokół SSH w wersji 1 oraz klucze RSA lub DSA do użytku przez protokół SSH w wersji 2.


Zwykle każdy użytkownik, który chce używać SSH z uwierzytelnianiem RSA lub DSA, uruchamia to raz, aby utworzyć klucz uwierzytelniający $HOME/.ssh/tożsamość, id_dsa or id_rsa. Dodatkowo administrator systemu może wykorzystać to do wygenerowania kluczy hosta dla systemu.


Zwykle ten program generuje klucz i prosi o plik, w którym można przechowywać klucz prywatny. Klucz publiczny jest przechowywany w pliku o tej samej nazwie, ale .pub dołączony. Program poprosi także o podanie hasła. Hasło może być puste, co oznacza brak hasła (klucze hosta muszą mieć puste hasło) lub może być ciągiem o dowolnej długości.


Nie ma możliwości odzyskania utraconego hasła. Jeśli hasło zostanie zgubione lub zapomniane, należy wygenerować nowy klucz i skopiować go do odpowiednich kluczy publicznych.


W ćwiczeniach będziemy uczyć się kluczy SSH. Wszystkie informacje można znaleźć na stronach man lub Info.


obraz


Najlepsze przetwarzanie w chmurze dla systemu operacyjnego w OnWorks: