Terminal komputerowy
Z Wikipedii
Terminal (ang. terminal – końcówka) to urządzenie pozwalające człowiekowi na pracę z komputerem lub systemem komputerowym. Terminal musi posiadać urządzenie wejściowe do wprowadzania instrukcji oraz urządzenie wyjściowe do przekazywania informacji operatorowi. Terminal jest stacją sieci komputerowej lub w systemie (np. w Internecie), służąca do wprowadzania lub odczytywania danych.
Spis treści |
[edytuj] Historia
W przeszłości terminale miały postać drukarki połączonej z klawiaturą. Człowiek wpisywał polecenia, które trafiały do odległego komputera zajmującego kilka pięter budynku. Po jakimś czasie komputer odpowiadał wysyłając znaki na drukarkę. Tego typu system nosił nazwę dalekopisu (TTY z ang. teletype, albo teletypewriter). Do komunikacji wykorzystywano często standard RS-232. Rozwój techniki komputerowej spowodował zastąpienie drukarek monitorami CRT. Komputery były zbyt kosztowne, aby jeden człowiek wykorzystywał całą moc jednej maszyny. Do każdego z nich podłączano wiele terminali, które pozwalały na lepsze wykorzystanie ich drogocennego czasu.
Rewolucja krzemowa obniżyła ceny sprzętu i doprowadziła do powstania komputera osobistego. Jedna maszyna służy jednemu człowiekowi. W takiej sytuacji terminal stał się przeżytkiem. Jego wykorzystanie ograniczono do dużych serwerów sieciowych pozbawionych własnych ekranów i klawiatur.
[edytuj] Zdalne logowanie
[edytuj] Zastosowanie
Rozwój sieci komputerowych spowodował, że wykorzystanie usług terminalowych stało się znowu powszechne. Wyobraźmy sobie sytuację, w której niedoświadczony pracownik robi coś głupiego w swoim komputerze. Potem dzwoni przerażony do informatyka w helpdesku i prosi go o ratunek. Informatyk musi przespacerować się po kilku piętrach, aby stwierdzić, że młody pracownik np. włączył nadpisywanie liter w procesorze tekstu i powinien nacisnąć klawisz Insert.
W takiej sytuacji niezwykle pomocne stają się wirtualne terminale. W stacjach roboczych uruchamiany jest serwer usługi terminalowej, który pozwala na połączenie się z systemem przez sieć komputerową. Informatyk zdalnie loguje się do wirtualnego terminala. Na swoim ekranie może zobaczyć dokładnie to samo, co widzi pracownik. Problem zostaje rozwiązany bez zbędnego tracenia czasu.
Umożliwia to także skupienie obsługi informatycznej w jednym miejscu i np: pomoc użytkownikom w róznych oddziałach firmy w całym kraju lub na świecie z jednego miejsca, bądź też własnie rozproszenie obsługi i korzystanie z wiedzy i pomocy specjalistów którzy znajdują się w dowolnym miejscu na świecie, wystarczy że posiadają oni komputer i połączenie z siecią firmową (np: przez VPN, SSH).
[edytuj] Oprogramowanie
Usługi terminalowe dostępne są w systemie Windows. Jednak prawdziwą siłę pokazują w Uniksie i Linuksie. Każdy użytkownik widziany jest przez te systemy, jakby pracował na wirtualnym terminalu. Takie podejście powoduje, że te same aplikacje mogą pracować lokalnie lub przez sieć. Dostęp do komputera z sieci jest dużo łatwiejszy, ale podlega bardzo ścisłej kontroli.
Najpopularniejsze systemy zdalnego logowania to:
- Telnet – ekran tekstowy, wykorzystywany w przeszłości, brak zabezpieczeń,
- SSH – ekran tekstowy, w powszechnym użytku, zabezpieczenia kryptograficzne,
- X Window System – ekran graficzny, standardowa powłoka graficzna Uniksa i Linuksa, brak zabezpieczeń,
- VNC – ekran graficzny, zdalne przekazywanie obrazu z ekranu, niezależny od systemu operacyjnego, brak zabezpieczeń,
- RDP – podobnie jak VNC, ale gorsza jakość obrazu, opracowany dla Windows, ale istnieją też wersje pod Linuksem, brak zabezpieczeń.
Aktywowanie usług terminalowych stwarza zagrożenie przejęciem komputera przez intruza. Aby się przed tym zabezpieczyć maszyny powinny chronić hasła oraz systemy kryptograficzne. Aby chronić pozbawione zabezpieczeń maszyny można posłużyć się VPN lub przekazywaniem portów przez SSH.
[edytuj] Przykład
Dla przykładu X Window System nie jest bezpieczny. Intruz podsłuchujący w sieci widzi wszystkie hasła i potem sam może się zalogować. Jednak, jeżeli na serwerze jest aktywna usługa logowania przez SSH, to można wykorzystać przekierowywanie portów (ang. port forwarding). Na aktywowanie tej usługi pozwala plik konfiguracyjny:
/etc/ssh/sshd_config
gdzie umieszczamy linię:
X11Forwarding yes
X11 wersję systemu X Window, a yes włączenie tej opcji. Teraz wystarczy zrestartować demona SSH:
Serwer:~# /etc/init.d/ssh restart
i można ze zdalnej maszyny zalogować się na serwer:
Klient:~# ssh -X uzytkownik@serwer
gdzie ssh to nazwa polecenia włączającego konsolę, -X oznacza aktywowanie przekierowywania portów, uzytkownik to nazwa użytkownika na serwerze, a serwer to adres, serwera. Po zalogowaniu pojawia się ekran znakowy. Uruchomienie aplikacji graficznej, np. zegara Xclock:
Serwer:~# xclock
powoduje wyświetlenie okna z tarczą zegarową. Teraz wystarczy zmienić sobie godzinę w lokalnym komputerze i uruchomić lokalny zegar:
Klient:~# xclock
aby przekonać się, że oba zegary pokazują inny czas. Dzieje się tak dlatego, że zegar z serwera pracuje w serwerze, a zegar z klienta w kliencie. Oba programy korzystają z tego samego ekranu pokazując różny czas. Komputer lokalny jest dla pracującego na serwerze zegara tylko terminalem, a nie źródłem czasu.