Jednou ze služeb přístupných uživatelům pracujícím na počítačích
zapojených v síti Internet je vzdálené připojování se na počítače
této sítě. Jejím prostřednictvím je možné napojit se odkudkoli na libovolný
jiný počítač (samozřejmě jen takový, pro který máme oprávnění na něm
počítat, tj. zřízený účet na něm) a pracovat s ním
ve stejném režimu jako s počítačem, na nějž jsme místně připojeni
pomocí terminálu. Běžně se této služby využívá například při připojení
k unixovským serverům z personálních počítačů zapojených
na místní ethernetovské sítě, nebo při přístupu na domácí počítač
odkudkoli ze zahraničí. Je tím možné spoléhat se rutinně na okamžitý
a operativní přístup ke všem službám a datům, které nám poskytuje
domácí prostředí, bez nutnosti omezit se na fyzickou přítomnost
na domácím pracovišti. (Příkladem mohou sloužit třeba poštovní služby, kdy
využití poštovních programů na unixovském systému - elm
,
mail
či xmail
- dává podstatně operativnější přístup
k poště ve srovnání s programy konfigurovanými na práci
s poštou z personálních počítačů.)
Služby vzdáleného připojování jsou dostupné pomocí dvou základních prostředků
umožňujících využít sítě Internet jako média, přes něž se napojujeme
na jiný počítač způsobem, který napodobuje připojený terminál. Jsou to
služby poskytované programy rlogin
a telnet
. Oba nabízejí
velmi podobné možnosti, liší se spíše jen v detailech použití. (Některé
odchylky chování mohou rovněž souviset s použitím 8-bitových znakových sad;
ne všude rovněž musí rlogin
fungovat.)
Napojení rlogin
umožňuje vzdálené připojení (remote login)
mezi počítači se systémem Unix. Vyvolání je jednoduché:
v nejjednodušší podobě zadáme jen
rlogin adresa |
kde adresa je internetovská adresa počítače, na který se chceme
připojit (udává se buď v doménovém tvaru, tj. např.
varda.ics.muni.cz
, nebo v numerické podobě tečkou oddělené
čtveřice, např. 147.251.12.8). Systémy napojené pomocí rlogin
si
do jisté míry "rozumějí" a mohou si předávat některé údaje
o uživateli a jeho prostředí. Zejména se to týká údajů o typu
terminálu, se kterým volající uživatel pracuje, a jeho rozměrů (při
použití systémů založených na práci s okny se tyto rozměry mohou
případ od případu velmi lišit).
Program rlogin
umožňuje systémovým administrátorům vytvářet skupiny
počítačů, které si navzájem "důvěřují": sdílejí uživatelská jména (stejné
uživatelské jméno znamená stejnou osobu, a tedy i stejné úrovně
oprávnění přístupu) a při provádění rlogin
mezi takovými
"důvěřujícími si" stroji není vyžadováno heslo při přechodu z jednoho
na druhý. Takové uspořádání nemusí být zcela jednoduché, protože stroje
zařazené v této kategorii musí dodržovat stejnou úroveň zabezpečení systému
před neoprávněným přístupem, což může být např. v prostředí
s rychle se měnícími počty uživatelů těžko dosažitelné.
Jednotliví uživatelé mají však možnost si usnadnit přechod mezi různými počítači
sami, a to i tehdy, mají-li na různých počítačích různá
uživatelská jména. Stačí k tomu zřídit si v domovském adresáři soubor
s názvem .rhosts
, ve kterém uvedou adresy všech počítačů,
ze kterých ke svému účtu povolují přístup bez hesla, spolu
s uživatelskými jmény na těchto počítačích. Každá taková dvojice
"jméno počítače - uživatelské jméno" se uvede na zvláštní řádek
v souboru .rhosts
, se jménem počítače uvedeným v plném
doménovém tvaru (tj. např. varda.ics.muni.cz
místo zkráceného
varda.ics
) a odděleným jednou mezerou od uživatelského jména.
Soubor .rhosts
tak může obsahovat např. řádky
varda.ics.muni.cz jiri |
a umožňovat uživateli připojení ze tří počítačů, na kterých pracuje
pod třemi různými uživatelskými
jmény1. Soubor .rhosts
musí být uložen na počítači, na který se připojujeme, a jeho
vlastníkem musí být uživatel, v jehož domovském adresáři se tento soubor
nachází (aby se znemožnilo "podstrčení" takového autorizačního souboru někomu,
kdo povolil zápis do svého domovského adresáře jiným). Obecně je vhodné
ochránit si takový autorizační soubor před čtením i zápisy jinými uživateli
nastavením
chmod 0600 .rhosts |
které znemožní jakýkoli přistup k tomuto souboru komukoli jinému, kromě vlastníka.
Možnost různých uživatelských jmen na různých systémech si vynutila
i možnost zadat jméno pro přihlášení jako součást vyvolání
rlogin
. Plná forma je v tomto případě
rlogin adresa -l jméno |
kde jméno je uživatelské jméno, pod kterým se na systém adresa hlásíme.
Autorizace bezheslového přístupu prostřednictvím .rhosts
není podmínkou
použití rlogin
- ten v takovém případě vyžádá i zadání hesla.
Uživatelé systému SCO Unix na personálních počítačích, kteří mají
8 znaků dlouhá jména, se setkají s nepříjemnou chybou
v přihlašovací proceduře, která je vždy donutí zadat jméno i heslo
dvakrát, bez ohledu na soubor .rhosts
.
Ukončení práce na vzdáleném počítači je možné provést dvojím způsobem: buď
odhlášením se (exit
), nebo odpojením. Odpojení se zadává dvojicí znaků
~.
následovaných těsně za sebou a zadaných
na samostatném řádku; znak ~
se při tom při zadání
na začátku řádku zobrazí až po zadání následujícího znaku, který určí,
jde-li o odpojení vzdáleného přihlášení, nebo jen o jinou kombinaci
znaků.
Připojení pomocí telnet
pracuje obecně mezi jakýmikoli systémy
na počítačích zapojených v Internetu (tedy nejen unixovskými, jako
v případě předchozím). Neumožňuje zjednodušení přihlašovací procedury
vynecháním zadávání hesla, tak jak to dovolí rlogin
, avšak poskytuje
některé možnosti, které v některých situacích mohou být docela užitečné:
telnet
umožňuje otevřít a zavřít spojení a navíc během jeho
trvání provádět i některé akce nebo činnost na domovském počítači,
odkud se hlásíme.
Nejjednodušší formou použití je opět uvedení adresy stroje, na který se přihlašujeme, jako parametru tohoto příkazu, tj.
telnet adresa |
Příkaz telnet
má však i vlastní příkazový mĎd, do kterého jej
dostaneme po spuštění bez parametrů, nebo zadáním únikové
sekvence. V systému Unix je obvyklé Ctrl-]
, tj. podržení
klávesy Ctrl
a současné stisknutí pravé hranaté závorky,
v systémech jiných (např. implementacích pro MS-DOS) to mohou být jiné
vyhražené klávesy či jejich kombinace (telnet
to zpravidla ohlásí při
navázání spojení, resp. je tato informace obsažena v manuálu).
Program telnet
se v takovém případě
ohlásí2 svou identifikací
telnet>
a dovolí uživateli zadat na řádku příkaz.
Nejužitečnější příkazy použitelné v takové situaci jsou následující:
open
adresaclose
quit
telnet
u;z
telnet
u a vyvolání uživatelského rozhraní (shell)
na místním stroji (uživatel tak má možnost vyvolávat místní programy,
zpracovat data a poté se vrátit k rozdělanému vzdálenému
připojení);!
příkazsend
escape
, který
vysílá únikovou sekvenci vzdálenému počítači; ip
vyšle signál
požadující zastavení a ukončení běžícího procesu na vzdáleném
stroji; ao
přikazuje vzdálenému systému zrušit všechen výstup,
který zrovna čeká na vyslání přes síť (vzhledem k rychlosti
resp. průchodnosti sítě může docházet ke značným zpožděním přenosu
za vlastním zpracováním dat);?
Jakmile je telnet
ve stavu čtení příkazu ze své příkazové řádky,
je možné jej suspendovat standardními prostředky systému (Ctrl-Z
)
a vyvolat jiné telnet
spojení. Je tak možné simulovat připojení
několika vzdálených počítačů zaráz, i když za horších podmínek, než to
dovolují na oknech založená prostředí.
Program telnet
umožňuje i napojení na počítače provozující
systém VM (např. univerzitní Hitachi či pražská IBM Akademické iniciativy IBM),
avšak díky speciálním vlastnostem terminálů IBM 3270 jen v řádkovém
režimu. Pro plnou obrazovkovou práci existuje analogie telnetu, program
tn3270
, který simuluje terminál 3270 a umožňuje plnohodnotné
napojení na systémy VM i z prostředí Unixu, resp. systémů
založených na obdobné práci s terminály.
Oba výše zmíněné způsoby vzdáleného připojení teoreticky umožňují připojení
odkudkoli kamkoli, praktická použitelnost však závisí na způsobu propojení
(rychlostí linek a celkové délce cesty) i okamžitých podmínek
v síti (okamžité zátěže). V nepříznivé konstelaci může docházet
ke značnému prodloužení doby odezvy, které může v extrémních případech
způsobovat i časté rozpojování navázaného spojení. Zejména je v tomto
ohledu citlivý systém SCO Unix na počítačích 386 či 486, který je při
velkých zátěžích sítě a větších vzdálenostech na hranici použitelnosti
(hovoříme zde o spojení ze zahraničí, mezi v tuzemsku umístěnými
stroji potíže tohoto typu dost dobře nastat nemohou). Narazíme-li
na takovou situaci, pomůže velmi často nejprve se napojit na některý
ze strojů, který není takto citlivý (např. systémy na strojích SUN,
či jiné verze Unixu na PC), a teprve z něj provést napojení
na cílový stroj. Jedním ze strojů, který může v nouzové situaci
vypomoci, je univerzitní terminálový server s adresou
telnet.muni.cz
3; není
vyloučeno, že tento druh služby bude zřízen jako speciální účet na některém
z regulérních počítačů (v takovém případě na něm nebude nutná
speciální registrace).
1 | Autorizace přístupu tímto způsobem je také relativně
únosným způsobem zprostředkování přístupu k vlastnímu účtu
někomu dalšímu, na rozdíl od předávání hesla komukoli
dalšímu, což je praktika zcela zavrženíhodná a zasluhující si
jedině odebrání práv používat výpočetní systémy.
... zpět do textu |
2 | Je-li otevřených víc telnetovských připojení jedno z druhého,
ohlásí se takto připojení, které bylo otevřeno jako první,
tj. připojení nejblíže uživateli. Příkaz set escape
dovoluje zadat jinou únikovou sekvenci a jednotlivá spojení
od sebe odlišit, je-li to třeba.
... zpět do textu |
3 | Při použití terminálového serveru je však potřeba se na něj
předem registrovat stejným způsobem jako pro jeho použití
na napojení pomocí modemu.
... zpět do textu |