r13 05 (22)


Rozdział 13.
Narzędzia zdalnego
wykonywania poleceń

W tym rozdziale:

Żyjemy w czasach, gdy przedsiębiorstwa nie uznają granic krajów i kontynentów: sieci firm mogą mieć zasięg globalny. W ciągu ostatniej dekady ogromnie zwiększyły się szeregi pracowników mobilnych, co oznacza konieczność opracowania dla nich nowych metod dostępu do zasobów poza ich fizycznym zasięgiem. W jaki sposób, na przykład, podróżujący biznesmen może korzystać z komputera mieszczącego się w jego domowym biurze? Jak administrator może zdalnie rozwiązywać problemy ze stacjami roboczymi?

Odpowiedź na powyższe pytania brzmi: za pomocą dostępu zdalnego — mechanizmu dostępu do zasobów i usług fizycznie od nas oddalonych. Dostępnych jest wiele programów użytkowych, które pomagają korzystać z zasobów zdalnych; narzędzia te udostępniają interaktywne połączenia z komputerami zdalnymi i możliwość wydawania w nich interaktywnych poleceń. Podczas pracy z systemem zdalnym lokalny system staje się przezroczysty. Polecenia w nim wydawane są bezpośrednio przesyłane do odległego komputera, a odpowiedzi tego odległego komputera są wyświetlane na monitorze użytkownika.

W niniejszym rozdziale Czytelnik zapozna się z popularnymi narzędziami zdalnego wykonywania poleceń, takimi jak Telnet, Remote login (rlogin), Remote shell (rsh), Secure shell (ssh) i Remote execute (rexec), które pozwalają na dostęp do zdalnych zasobów i usług. Pokażemy też, jak serwery terminali, takie jak Sun Ray, Serwer usług terminalowych Microsoftu i Citrix, pomagają w dostępie do zdalnych usług i zasobów.

Przegląd narzędzi
zdalnego wykonywania poleceń

Większość z tych narzędzi została opracowana w University of California w Berkeley (UCB) w ramach prac rozwojowych nad TCP/IP. Ponieważ nazwy większości tych narzędzi zaczynają się na literę „r”, są nazywane potocznie r-narzędziami (r-utilities). Litera „r” pochodzi od remote — zdalne. Początkowo r-narzędzia stanowiły część składową systemu operacyjnego Unix, wobec czego są w dużym stopniu zależne od platformy uniksowej. Z czasem jednak narzędzia te zaczęły być przenoszone na inne platformy i środowiska, na przykład Windows. Do popularnych r-narzędzi należą rlogin, rsh i rexec. Wprawdzie ssh udostępnia usługi zdalne podobne do r-narzędzi, lecz do nich nie należy. Jest to odrębny protokół, przypominający raczej Telnet.

0x01 graphic

r-narzędzia czasami nazywane są r-narzędziami Berkeley.

Wprawdzie r-narzędzia są nadal popularne w systemach operacyjnych Unix i Linux, lecz bardzo szybko zastępują je standardowe usługi TCP/IP, takie jak FTP i Telnet, ponieważ:

Obecnie r-narzędzia są bardzo rzadko implementowane w komercyjnych pakietach TCP/IP. Telnet oferuje dobrze znany i łatwy w obsłudze interfejs, dzięki czemu jest jedną z najbardziej popularnych usług protokołu TCP/IP.

0x01 graphic

Dodatkowe informacje o zaporach firewall można znaleźć w rozdziale 11.

Telnet

Początkowo uzyskanie dostępu do zdalnego komputera było operacją pracochłonną, wymagającą zmian w systemie operacyjnym komputera żądającego dostępu. Ponadto, z uwagi na niejednorodny charakter środowiska sieciowego, nie można było ustalić, jak naciśnięcia klawiszy będą interpretowane po drugiej stronie. Na przykład, kombinacja klawiszy Ctrl+D, służąca do zakończenia sesji w systemie lokalnym, niekoniecznie mu­siała zamykać sesję w systemie zdalnym.

Krok po kroku, programiści systemów opracowali narzędzie pozwalające użytkownikom współdziałać ze zdalnym systemem tak, jakby pracowali z systemem lokalnym. Narzędzie to otrzymało nazwę Telnet od TELecommunication NETwork. Usługa Telnet ma wyższy priorytet od lokalnej interpretacji wszelkich naciśnięć klawiszy. Inaczej mówiąc, Telnet został opracowany jako usługa pozwalająca użytkownikom logować się do zdalnego komputera i wykonywać w nim polecenia tak, jakby siedzieli przy jego konsoli.

0x01 graphic

Telnet jako protokół jest starszy od reszty protokołów TCP/IP. Był on oryginalnym protokołem, na podstawie którego stworzono pakiet TCP/IP. Telnet jest też uważany za protokół „uniwersalny”, ponieważ może posłużyć do „ręcznego połączenia” z niemal wszystkimi innymi protokołami. Usługa Telnet jest zorientowana na połączenia, wobec czego opiera się na protokole TCP. Usługa Telnet korzysta z portu 23. TCP.

Telnet opiera się na trzech elementach: na wirtualnym terminalu sieciowym (NVT — Network Virtual Terminal), na zasadzie negocjacji i na symetrycznym widoku terminali i procesów.

Rysunek 13.1.

Komunikacja w usłudze Telnet korzystająca z NVT

0x01 graphic

0x01 graphic

NVT jest mechanizmem półdupleksowym, pozwalającym wydawać w każdej chwili polecenia tylko po jednej stronie.