SSH(1) SSH SSH(1)
JMENO
ssh - secure shell klient (program pro remote login)
POUZITI
ssh [-l prihlasovaci_jmeno] pocitac [prikaz]
ssh [-a] [-c idea|blowfish|des|3des|arcfour|none] [-e escape_znak]
[-i soubor_identit] [-l prihlasovaci_jmeno] [-n] [-k] [-V] [-o volba]
[-p port] [-q] [-P] [-t] [-v] [-x] [-C] [-L port:pocitac:vzdalport]
[-R port:pocitac:vzdalport] pocitac [prikaz]
POPIS
Prikaz ssh (secure shell, bezpecny shell) slouzi pro prihlasovani na
vzdalene pocitace a pro spousteni prikazu na vzdalenych pocitacich. Je
navrzen jako nahrada prikazu rlogin a rsh a umoznuje bezpecnou zasifro-
vanou komunikaci mezi dvema neduveryhodnymi pocitaci pres neza-
bezpecenou sit. Umoznuje take forwardovani X11 spojeni nebo libovolnych
TCP/IP portu bezpecnym kanalem.
Program ssh slouzi k pripojeni a prihlaseni uzivatele na zadany
pocitac. Uzivatel musi prokazat svoji identitu na tomto vzdalenem
stroji pouzitim jedne z nasledujicich autentizacnich metod:
Prvni metoda je prevzata z protokolu rsh/rlogin; normalne nebyva ssh
serverem povolena, protoze predstavuje ohrozeni jeho bezpecnosti.
Pokud je pocitac, z nehoz se uzivatel hlasi, uveden v souboru
/etc/hosts.equiv nebo /etc/ssh/shosts.equiv na vzdalenem stroji, a
prihlasovaci jmena jsou na obou stranach stejna, uzivateli je okamzite
povoleno prihlaseni. Stejne funguje, jestlize uzivatel ma ve svem
domovskem adresari na vzdalenem stroji soubor .rhosts nebo .shosts, v
nemz je radek tvoreny jmenem klientskeho stroje, mezerou a jmenem
uzivatele na klientskem pocitaci.
Druha (preferovana) autentizacni metoda pouziva soubor rhosts nebo
hosts.equiv ve spojeni s RSA autentizaci pocitace. To znamena, ze
prihlaseni bude mozne, jestlize by bylo povoleno podle souboru .rhosts,
.shosts, /etc/hosts.equiv, nebo /etc/ssh/shosts.equiv, a zaroven server
zna a zkontroluje klic klientskeho pocitace (viz $HOME/.ssh/known_hosts
a /etc/ssh/ssh_known_hosts v casti SOUBORY). Tato autentizacni metoda
uzavira bezpecnostni diry vyuzivajici IP spoofingu, DNS spoofingu a
routing spoofingu. [Poznamka pro spravce: /etc/hosts.equiv, .rhosts, a
protokol rlogin/rsh obecne jsou ze sve podstaty nebezpecne a pokud je
pozadovana bezpecnost, musi byt zakazany.]
Jako treti autentizacni metodu pouziva ssh autentizaci zalozenou na
RSA. Toto schema je zalozeno na sifrovani s verejnym klicem, coz je
sifrovaci system, v nemz jsou pro sifrovani a desifrovani pouzity dva
ruzne klice, pricemz ze sifrovaciho klice nelze odvodit desifrovaci
klic. Jednim z techto systemu je RSA. Myslenka je takova, ze si kazdy
uzivatel pro ucely autentizace vytvori dvojici klicu; jeden verejny a
druhy soukromy. Server zna verejny klic, soukromy klic zna pouze uziva-
tel. Soubor $HOME/.ssh/authorized_keys obsahuje seznam verejnych
klicu, ktere je mozne pouzit pro prihlaseni. Kdyz se uzivatel
prihlasi, program ssh oznami serveru, kterou dvojici klicu chce pouzit
pro autentizaci. Server zkontroluje, zdali mu je dany klic znamy, a
pokud ano, posle uzivateli (presneji ssh programu spustenemu uzivate-
lem) vyzvu -- nahodne cislo, zasifrovane uzivatelovym verejnym klicem.
Vyzva muze byt desifrovana pouze pouzitim odpovidajiciho soukromeho
klice. Uzivateluv klient desifrovanim vyzvy prokaze, ze zna soukromy
klic, aniz by jej prozradil serveru.
Program ssh implementuje RSA autentizacni protokol automaticky. Uziva-
tel vytvori svuj par RSA klicu spustenim programu ssh-keygen(1). Ten
ulozi soukromy klic do souboru .ssh/identity a verejny klic do souboru
.ssh/identity.pub v uzivatelove domovskem adresari. Uzivatel potom musi
pridat obsah souboru identity.pub do .ssh/authorized_keys ve svem
domovskem adresari na vzdalenem stroji (soubor authorized_keys odpovida
konvencnimu souboru .rhosts a obsahuje jeden klic na kazdem radku --
jeho radky mohou byt velmi dlouhe). Pote se uzivatel muze prihlasovat
bez zadavani prihlasovaciho hesla. RSA autentizace je mnohem
bezpecnejsi nez autentizace pomoci souboru rhosts. Soubor s uzivate-
lovym soukromym klicem je chranen pravy v operacnim systemu Unix
(neucinne jako ochrana pred superuzivatelem) a navic pristupovym heslem
(passphrase).
Nejprijemnejsi zpusob pouziti RSA autentizace je s pouzitim auten-
tizacniho agenta. Podrobnejsi informace viz ssh-agent(1).
Jako ctvrtou autentizacni metodu program ssh podporuje autentizaci
uzivatele pomoci TIS autentizacniho serveru authsrv(8). V nekterych
pripadech neni vhodne, aby byla uzivatelska jmena v TIS databazi shodna
se jmeny lokalnich uzivatelu. Muze k tomu napriklad dojit, pokud se
uzivatel autentizuje pomoci karty smartcard nebo Digipass. V tomto
pripade je v databazi jako uzivatelske jmeno obvykle uvedeno seriove
cislo autentizacniho zarizeni. Mapovani mezi jmeny v TIS databazi a
uzivatelskymi jmeny zajistuje soubor /etc/ssh/sshd_tis.map. Jestlize
tento soubor neexistuje, nebo v nem uzivatel neni uveden, predpoklada
se, ze obe jmena jsou shodna.
Jestlize vsechny autentizacni metody selzou, ssh se zepta uzivatele na
prihlasovaci heslo. Heslo je poslano na vzdaleny pocitac pro obvykle
overeni. Nicmene protoze veskera komunikace je sifrovana, nelze odpos-
lechem provozu v siti prihlasovaci heslo zjistit.
Jestlize byla uzivatelova identita serverem akceptovana, server bud
provede zadany prikaz, nebo zajisti prihlaseni uzivatele a spusti pro
nej normalni shell. Pritom veskera komunikace se vzdalenym pocitacem je
automaticky sifrovana.
Jestlize byl vytvoren pseudoterminal (pro normalni login session), muze
uzivatel zadanim "~." ukoncit spojeni, zadanim "~^Z" suspendovat ssh,
zadanim "~#" vypsat vsechna forwardovana spojeni, a pokud se session
cekanim na ukonceni forwardovaneho X11 nebo TCP/IP spojeni zablokuje,
muze byt prevedena do pozadi zadani "~&" (nesmi byt pouzito, dokud je
aktivni uzivatelsky shell, protoze by mohlo dojit k jeho zamrznuti).
Vsechny dostupne escape posloupnosti lze vypsat pomoci "~?".
Aby byl escape znak interpretovan jako specialni, musi byt pouzit na
zacatku session nebo po znaku konec radku (newline). Samotny znak vlnka
je nutne vkladat zdvojeny "~~" (nebo nasledovany jinym znakem nez je
popsano vyse). V konfiguracnim souboru nebo volbou v prikazovem radku
lze escape znak zmenit.
Pokud nebyl alokovan zadny pseudoterminal, session bude transparentni a
muze byt pouzita pro spolehlivy prenos binarnich dat. Na vetsine
systemu nastaveni escape znaku na ''none'' take zpusobi, ze session
bude transparentni i pri pouziti tty.
Session skonci, pokud skonci prikaz nebo shell na vzdalenem stroji a
spojeni neni pouzivano zadnymi X11 a TCP/IP spojenimi. Navratovy kod
vzdaleneho programu je vracen jako navratovy kod prikazu ssh.
Jestlize uzivatel pouziva X11, je nastavena promenna prostredi DISPLAY
tak, jako kdyby program komunikoval s X serverem na stejnem stroji (tj.
na ssh serveru). Cislo displeje vsak bude vetsi nez nula, protoze se
nejedna o skutecny X server na ssh serveru, ale pouze o "proxy" X
server, ktery zajistuje forwardovani X11 spojeni bezpecnym kanalem
vytvorenym programem ssh na skutecny X server bezici na stejnem stroji
jako ssh klient. Aby vse fungovalo, jak je zde popsano, uzivatel nesmi
rucne nastavovat promennou prostredi DISPLAY. Pro konfiguraci forwar-
dovani X11 spojeni lze pouzit parametry na prikazovem radku nebo v
konfiguracnim souboru.
Program ssh umoznuje automaticke nastavovani Xauthority dat na serveru.
K tomuto ucelu vygeneruje nahodne autorizacni cookie, ulozi jej v sou-
boru Xauthority na serveru, a zajisti, ze vsechna forwardovana spojeni
ponesou toto cookie a pri otevreni spojeni jej nahradi opravdovym
cookie. Skutecne autentizacni cookie neni nikdy posilano na server (a
zadne cookies nejsou nikdy posilany nezasifrovane).
Jestlize uzivatel pouziva autentizacniho agenta, spojeni s agentem bude
automaticky forwardovano na vzdalenou stranu, pokud to neni zakazano
volbou na prikazovem radku nebo v konfiguracnim souboru.
Forwardovani libovolneho TCP/IP spojeni pres bezpecny kanal muze byt
vyzadano bud z prikazoveho radku nebo v konfiguracnim souboru. Jednou
z moznych aplikaci TCP/IP forwardingu je bezpecne spojeni s elektronic-
kou penezenkou; druhou je zajisteni pruchodu firewallem.
Program ssh umi automaticky udrzovat a pouzivat databazi obsahujici RSA
identifikace vsechny pocitacu, se kterymi dosud komunikoval. Databaze
je ulozena v souboru .ssh/known_hosts v uzivatelove domovskem adresari.
Pro kontrolu je pouzivan i soubor /etc/ssh/ssh_known_hosts. Pri nasta-
veni volby StrictHostKeyChecking na "no" budou jakekoli nove pocitace
automaticky pridany do uzivatelskeho souboru. Jestlize se zmeni identi-
fikace pocitace, ssh na to upozorni a zakaze autentizaci prihlasovacim
heslem, aby se zabranilo trojskym konim ziskat uzivatelovo prihlasovaci
heslo. Dalsim ucelem tohoto mechanismu je zabraneni utokum typu man-
in-the-middle, ktery by jinak mohl byt pouzit na obejiti sifrovani.
Volba StrictHostKeyChecking (viz dale) muze byt pouzita na zabraneni
prihlaseni na stroje, jejichz klic neni znamy nebo byl zmenen.
VOLBY
-a Zakaze forwardovani spojeni s autentizacnim agentem. V konfi-
guracnim souboru lze nastavit i pro jednotlive pocitace.
-c idea|des|3des|blowfish|arcfour|none
Vybere sifru pouzitou pro sifrovani session. Implicitne je
pouzita sifra idea, ktera je pokladana za bezpecnou. des je
sice standard pro sifrovani dat, ale s dostatecnym technickym
zazemim (kterym mohou disponovat vlady, velke korporace a velke
kriminalni organizace) jej lze rozlustit. 3des (triple-des) je
trojice sifrovani-desifrovani-sifrovani se tremi ruznymi klici.
Je pravdepodobne bezpecnejsi nez DES. Pokud nektery z koncu
nepodporuje sifru IDEA, je implicitne pouzita sifra 3des.
blowfish je sifrovaci algoritmus objeveny Brucem Schneierem.
Pouziva 128 bitovy klic. arcfour je algoritmus publikovany v
roce 1995 v Usenet News. Veri se, ze je stejne silny jako sifra
RC4 od RSA Data Security (RC4 je ochranna znacka firmy RSA Data
Security). V soucasnosti je to nejrychlejsi pouzivany algorit-
mus. none zcela zakaze sifrovani; je urceno pouze pro ladici
ucely, neni bezpecne.
-e ch|^ch|none
Nastavi escape znak pro session pouzivajici pty (implicitne: ~).
Escape znak je rozpoznan pouze na zacatku radku. Escape znak
nasledovany znakem tecka (.) uzavre spojeni, nasledovany znakem
control-Z suspenduje spojeni, a nasledovany sebou samym posle
jeden escape znak. Nastaveni znaku na 'none' zakaze jakekoli
escape znaky a zpusobi, ze spojeni bude plne transparentni.
-f Pozaduje, aby ssh po provedeni autentizace a zahajeni forwar-
dovani presel do pozadi. Tato volba je vhodna, pokud uzivatel
chce, aby ssh bezel v pozadi, ale ssh bude jeste ptat na
prihlasovaci nebo pristupova hesla. Muze byt vhodna take ve
skriptech. Implikuje volbu -n. Doporuceny zpusob pro start X11
programu na vzdalenem pocitaci je "ssh -f pocitac xterm".
-i soubor_identit
Udava jmeno soubor, z nehoz se ctou identity (soukrome klice)
pro RSA autentizaci. Implicitne je .ssh/identity v uzivatelove
domovskem adresari. V konfiguracnim souboru muze byt zadano vice
souboru identit, pro kazdy pocitac jeden. Lze pouzit vice voleb
-i.
-k Zakaze forwardovani kerberos tiketu. V konfiguracnim souboru
lze nastavit i pro jednotlive pocitace.
-l login_name
Urcuje uzivatelske jmeno na prihlaseni vzdalenem pocitaci. V
konfiguracnim souboru lze nastavit i pro jednotlive pocitace.
-n Presmeruje stdin na /dev/null (zabranuje cteni ze stdin). Musi
byt pouzito, jestlize je ssh spusten na pozadi. Obvyklym trikem
je pouzit tuto volbu pro spusteni X11 programu na vzdalenem
stroji. Prikaz "ssh -n shadows.cs.hut.fi emacs &" odstartuje
emacs na shadows.cs.hut.fi, a X11 spojeni bude automaticky
forwardovano pres zasifrovany kanal. Program ssh bude spusten
na pozadi. (Toto nebude fungovat jestlize ssh se bude ptat na
prihlasovaci nebo pristupove heslo; pak je treba pouzit volbu
-f.)
-o 'volba'
Muze byt pouzito pro zadani voleb ve formatu pouzitem v konfi-
guracnim souboru. Lze pouzit pro zadani parametru, pro ktere
neexistuje zadna volba v prikazovem radku. Volba ma stejny
format jako radka v konfiguracnim souboru.
-p port
Port, na ktery se pripojit na vzdalenem pocitaci. V konfi-
guracnim souboru lze nastavit i pro jednotlive pocitace.
-q Tichy rezim. Potlaci vypis varovani a diagnostickych zprav. Jsou
vypisovany pouze fatalni chyby.
-P Pouzije neprivilegovany port. S touto volbou nelze pouzit auten-
tizaci pomoci rhosts nebo rsarhosts, ale muze byt pouzito na
prekonani nekterych firewallu, ktere nedovoluji pouzivat privi-
legovane zdrojove porty.
-t Vynuti prideleni pseudo-tty. Muze byt pouzito pro provadeni
libovolneho obrazovkove orientovaneho programu na vzdalenem
stroji, coz muze byt velmi uzitecne napriklad pro programy
ovladane pomoci menu.
-v Upovidany rezim. Zpusobi, ze program ssh bude vypisovat ladici
zpravy o sve cinnosti. Lze pouzit pri ladeni spojeni a pri
autentizacnich a konfiguracnich problemech.
-V Vypise pouze cislo verze a skonci.
-g Povoli vzdalenym strojum pripojovani na lokalni forwardovane
porty. Implicitne se muze na tyto porty pripojovat pouze
localhost.
-x Zakaze X11 forwardovani. V konfiguracnim souboru lze nastavit i
pro jednotlive pocitace.
-C Bude komprimovat vsechna data (vcetne stdin, stdout, stderr, a
dat pro forwardovane X11 a TCP/IP spojeni). Komprimacni algorit-
mus je tyz jako v programu gzip. Uroven komprese muze byt zadana
volbou CompressionLevel volba (viz dale). Komprese je zadouci na
modemovych linkach a pro jina pomala spojeni, ale pres rychlou
sit bude zpomalovat cinnost. Implicitni hodnota muze byt nasta-
venu pro jednotlive pocitace v konfiguracnim souboru; viz volba
Compress dale.
-L port:pocitac:vzdalport
Urcuje, ze zadany port na lokalnim pocitaci (tj. ssh klientovi)
ma byt forwardovan pres bezpecny kanal na ssh server a z nej ma
byt navazovano TCP spojeni na zadany vzdaleny pocitac a port.
Alokuje soket, ktery bude naslouchat na zadanem portu na
lokalnim pocitaci, a kdykoli bude vytvoreno spojeni na tento
port, bude forwardovano pres bezpecny kanal, a ze vzdaleneho
stroje bude navazano spojeni na zadany pocitac:vzdalport.
Forwardovani portu muze byt take nastaveno v konfiguracnim sou-
boru. Privilegovane port muze forwardovat pouze root.
-R port:pocitac:vzdalport
Urcuje, ze zadany port na vzdalenem pocitaci (tj. serveru) ma
byt forwardovan na lokalni pocitac a odtud na dalsi zadany
pocitac a port. Alokuje soket, ktery bude naslouchat na zadanem
portu na vzdalene strane, a kdykoli je navazano spojeni na tento
port, spojeni bude forwardovano pres bezpecny kanal na lokalni
stroj, a z nej bude navazano spojeni na zadany
pocitac:vzdalport. Forwardovani portu muze byt zadano v konfi-
guracnim souboru. Privilegovane porty mohou byt forwardovany
pouze pri prihlaseni jako root na vzdalenem stroji.
KONFIGURACNI SOUBORY
Program ssh ziskava konfiguracni informace postupne z nasledujicich
zdroju (v uvedenem poradi): volby v prikazovem radku, uzivatelsky
konfiguracni soubor ($HOME/.ssh/config), a hlavni konfiguracni soubor
(/etc/ssh/ssh_config) pro cely pocitac. Pro kazdy parameter bude
pouzita prvni ziskana hodnota. Konfiguracni soubory obsahuji sekce
uvozene radkem "Host", a kazda sekce plati pouze pro pocitace, ktere
vyhovuji jednomu ze vzorku zadanych v radku "Host". Jmeno pocitace se
porovnava v tom tvaru, v jakem je uvedeno na prikazovem radku.
Protoze se pouzije prvni ziskana hodnota pro kazdy parameter, musi byt
na zacatku souboru hodnoty specificke pro jednotlive pocitace, a obecne
implicitni hodnoty na konci.
Konfiguracni soubor ma nasledujici format:
Prazdne radky a radky zacinajici znakem '#' jsou komentare.
Ostatni radky maji format "klicove-slovo argumenty" nebo
"klicove-slovo = argumenty". V konfiguracnich souborech se
rozlisuji mala a velka pismena, ale v klicovych slovech nikoli.
Host Omezuje nasledujici deklarace (az po dalsi radek s klicovym slo-
vem Host) pouze pro pocitace, ktere vyhovuji jednomu ze vzorku
zadanych za klicovym slovem. Vzorky mohou obsahovat zolikove
znaky '*' a '?'. Vzorek '*' vyhovuje vsem pocitacum. Vzorek se
porovnava s parametrem hostname zadanym v prikazovem radku
(t.j., jmeno neni konvertovano na kanonicke pred porovnanim se
vzorkem).
BatchMode
Je-li nastaveno na "yes", program se nebude ptat na pristupove
nebo prihlasovaci heslo. Vhodne pro skripty a jine davkove
ulohy, kde neni zadny uzivatel, ktery by zadal prihlasovaci
heslo. Argument musi byt "yes" nebo "no".
Cipher Urcuje druh sifry pouzite pro sifrovani session. V soucasnosti
jsou podporovany sifry idea, des, 3des, blowfish, arcfour, a
none. Implicitni je "idea" (nebo "3des" jestlize "idea" neni
podporovana obema stroji). Pouziti "none" (bez sifrovani) je
urceno pouze pro ucely ladeni, a vysledne spojeni neni bezpecne.
ClearAllForwardings
Po nacteni vsech konfiguracnich souboru a zpracovani prikazoveho
radku zrusi veskere forwardovani. Lze pouzit pro zakaz forwar-
dovani uvedenych v konfiguracnim souboru pri navazovani druheho
spojeni na pocitac, ktery ma forwardovani nastaveno v konfi-
guracnim souboru. Program scp nastavuje tuto volbu implicitne
na "on", takze i kdyby forwardovani bylo vyzadano v konfi-
guracnim souboru, k chybe nedojde.
Compression
Urcuje, zda pouzit kompresi. Argument musi byt "yes" nebo "no".
CompressionLevel
Urcuje uroven komprese, je-li povolena. Argument musi byt cele
cislo od 1 (nizka komprese, nejvetsi rychlost) do 9 (nejvetsi
komprese, nejnizsi rychlost). Implicitni uroven, vhodna pro
vetsinu aplikaci, je 6. Hodnota ma stejny vyznam jako v programu
GNU gzip.
ConnectionAttempts
Urcuje pocet pokusu o spojeni, ktere se provedou (s opakovanim
po sekunde), nez ssh pouzije rsh nebo ukoncenim programu ssh.
Argument musi byt cele cislo. Vhodne pro pouziti ve skriptech,
pokud se ne vzdy podari navazat spojeni.
EscapeChar
Nastavi escape znak (implicitne ~). Escape znak muze byt take
nastaven na prikazovem radku. Argument musi byt jediny znak (aby
bylo spojeni transparentni pro binarni data), je treba pouzit
hodnotu ''none''.
FallBackToRsh
Pokud se nepodari navazat spojeni pomoci ssh a spojeni bude
odmitnuto (protoze na vzdalenem pocitaci nebezi sshd), pouzije
se automaticky rsh (pritom se vypise varovani, ze komunikace
nebude sifrovana). Argument musi byt "yes" nebo "no".
ForwardAgent
Urcuje, zda spojeni s autentizacnim agentem (pokud existuje) ma
byt forwardovano na vzdaleny stroj. Argument musi byt "yes" nebo
"no".
ForwardX11
Urcuje, zda X11 spojeni ma byt automaticky presmerovano pres
bezpecny kanal a nastavena promenne prostredi DISPLAY. Argument
musi byt "yes" nebo "no".
GatewayPorts
Urcuje, ze take vzdalene stroje se mohou pripojovat na lokalne
forwardovane porty. Argument musi byt "yes" nebo "no".
GlobalKnownHostsFile
Definuje, jaky soubor pouzit misto /etc/ssh/ssh_known_hosts.
HostName
Definuje skutecne jmeno vzdaleneho pocitace. Umoznuje pouzivani
prezdivek nebo zkratek pro jmena pocitacu. Implicitne je jmeno
pocitace shodne se jmenem zadany v prikazovem radku. Jsou povo-
leny i numericke IP adresy (jak i prikazovem radku, tak jako
argument HostName).
IdentityFile
Definuje soubor, ze ktereho se cte uzivatelova RSA autentizacni
identita (implicitne .ssh/identity v uzivatelove domovskem
adresari). Navic budou pro autentizaci pouzity i vsechny iden-
tity zname autentizacnimu agentu. Ve jmene souboru lze pouzit
znak vlnka pro oznaceni uzivatelova domovskeho adresare. Konfi-
guracni soubory mohou obsahovat vice identit; tyto identity
budou zkouseny postupne.
KeepAlive
Urcuje, zda system ma posilat protistrane udrzovaci zpravy (kee-
palive messages). Tyto zpravy umoznuji zjistit preruseni spojeni
nebo havarii jednoho ze stroju. Ovsem i pri docasnem preruseni
komunikace bude spojeni ukonceno. Rade lidi se toto chovani
nelibi, je vsak vhodne pri davkovem zpracovani.
Implicitni hodnota je "yes" (posilat udrzovaci zpravy), takze
klient bude informovan, pokud dojde k preruseni spojeni nebo
havarii vzdaleneho pocitace.
Pro zakaz zasilani udrzovacich zprav musi byt nastaveno "no" jak
v konfiguraci serveru, tak klienta.
KerberosAuthentication
Urcuje, zda ma byt pouzita autentizace Kerberos V5.
KerberosTgtPassing
Urcuje, zda ma byt Kerberos V5 TGT forwardovano na server.
LocalForward
Urcuje, ze TCP/IP port na lokalnim stroji ma byt forwardovan
pres bezpecny kanal na vzdaleny stroj a odtud na dalsi zadany
pocitac:port. Prvni argument musi byt cislo portu, druhy
pocitac:port. Lze zadat vice forwardovani a dalsi forwardovani
mohou byt zadana v prikazovem radku. Privilegovane porty muze
forwardovat pouze root.
NumberOfPasswordPrompts
Urcuje pocet vyzev na zadani prihlasovaciho hesla. Argument musi
byt cele cislo. Pamatujte, ze take server omezuje pocet pokusu
(implicitne na 5), takze nastaveni tohoto parametru na vetsi
hodnotu nema vyznam. Implicitni hodnota je 1.
PasswordAuthentication
Urcuje, zda pouzit autentizaci prihlasovacim heslem. Argument
musi byt "yes" nebo "no".
PasswordPromptHost
Urcuje, zda ve vyzve k zadani hesla ma byt obsazeno jmeno
vzdaleneho stroje. Argument musi byt "yes" nebo "no".
PasswordPromptLogin
Urcuje, zda ve vyzve k zadani hesla ma byt obsazeno prihlasovaci
jmeno na vzdalenem pocitaci. Argument musi byt "yes" nebo "no".
Port Urcuje cislo portu pro pripojeni na vzdaleny pocitac. Impli-
citne 22.
ProxyCommand
Definuje, jaky prikaz pouzit pro pripojeni na server. Prikazovy
retezec muze pokracovat do konce radku, a bude provaden shellem
/bin/sh. V prikazovem retezci bude %h nahrazeno jmenem pocitace,
ke kteremu se ma pripojovat a %p cislem portu. Prikaz muze byt v
zasade cokoli, ale musi cist z stdin a zapisovat na stdout.
Musi se pripojit na sshd server bezici na nejakem stroji, nebo
nekde provest "sshd -i". Sprava klicu pocitacu bude provadena
uzitim HostName pocitace, ke kteremu se pripojuje (implicitne na
jmeno zadane uzivatelem).
Pamatujte, ze ssh muze byt take zkonfigurovano pro podporu SOCKS
systemu pouzivajicich --s-socks4 nebo --s-socks5 konfiguracni
volbu pri prekladu.
RemoteForward
Pozaduje, aby zadany TCP/IP port na vzdalenem stroji byl pres
bezpecny kanal forwardovan na lokalni pocitac, na kterem vyvola
TCP spojeni na dalsi zadany pocitac:port. Prvni argument musi
byt cislo portu na vzdalenem stroji, druhy argument libovolny
pocitac:port. Lze zadat vice nez jedno forwardovani a dalsi
mohou byt zadana z prikazoveho radku. Privilegovane porty muze
forwardovat pouze root.
RhostsAuthentication
Urcuje, zda zkouset autentizaci zalozenou na souborech rhosts.
Pamatujte, ze tato deklarace ovlivni pouze stranu klienta a nema
zadny efekt na bezpecnost. Zakaz rhosts autentizace muze snizit
dobu autentizace pri pomalem spojeni, kdyz rhosts autentizace
neni pouzita. Vetsina serveru nedovoluje RhostsAuthentication,
protoze neni bezpecna (viz RhostsRSAAuthentication). Argument
teto volby musi byt "yes" nebo "no".
RhostsRSAAuthentication
Urcuje, zda zkouset autentizaci zalozenou na souborech rhosts s
RSA autentizaci pocitacu, coz byva na vetsine uzlu primarni
autentizacni metoda. Argument musi byt "yes" nebo "no".
RSAAuthentication
Urcuje, zda zkouset RSA autentizaci. Argument musi byt "yes"
nebo "no". RSA autentizace muze byt pouzita, pokud existuje
soubor identity, nebo bezi autentizacni agent.
StrictHostKeyChecking
Jestlize je tento priznak nastaven na "yes", ssh nebude automa-
ticky pridavat klice pocitacu do souboru $HOME/.ssh/known_hosts,
a odmitne pozadavek na pripojeni k pocitaci, jehoz klic byl
zmenen. Toto nastaveni poskytuje maximalni ochranu proti utokum
typu trojskeho kone. Nicmene pokud neni nainstalovan aktualni
soubor /etc/ssh/ssh_known_hosts obsahujici klice vsech pocitacu,
na nez se casto pripojujete, je tato volba neprijemna, protoze
nuti uzivatele, aby vsechny nove pocitace pridaval rucne. Kom-
promisem je nastaveni na "ask", kdy budou nove klice pocitacu
pridavany automaticky pote, co uzivatel potvrdi ze to opravdu
chce. Jestlize je tato volba nastavena na "no", potom budou nove
klice pocitacu pridavany do souboru $HOME/.ssh/known_hosts auto-
maticky bez potvrzovani. Klice znamych pocitacu budou overovany
automaticky ve vsech pripadech.
Argument musi byt "yes", "no" nebo "ask".
TISAuthentication
Urcuje, zda zkouset TIS autentizaci. Argument teto volby musi
byt "yes" nebo "no".
UsePrivilegedPort
Urcuje, zda pri pripojovani na vzdaleny pocitac pouzit privile-
govany port. Jestlize je povolena autentizace zalozena na rhosts
nebo rsarhosts, je implicitni hodnota je "yes".
User Definuje uzivatelske jmeno na vzdalenem stroji. Lze pouzit,
pokud ma uzivatel na ruznych strojich ruzna uzivatelska jmena.
Odstranuje problemy s nutnosti zadavani uzivatelskeho jmena na
prikazovem radku.
UserKnownHostsFile
Urcuje, ktery soubor pouzit misto $HOME/.ssh/known_hosts.
UseRsh Urcuje, ze pro prihlasovani na tento pocitac musi byt pouzit
nebezpecny protokol rlogin/rsh. Je mozne, ze pocitac vubec
nepodporuje ssh protocol. Zpusobi, ze ssh okamzite vyvola rsh.
Je-li zadana tato volba, budou vsechny ostatni volby (krome
HostName) ignorovany. Argument musi byt "yes" nebo "no".
XAuthLocation
Urcuje cestu k programu xauth.
PROMENNE PROSTREDI
Program ssh normalne nastavuje nasledujici promenne prostredi:
DISPLAY
Promenna prostredi DISPLAY oznacuje umisteni X11 serveru. Je
automaticky nastavena programem ssh, tak ze obsahuje hodnotu ve
tvaru "hostname:n", kde hostname oznacuje pocitac, kde bezi
shell, a n je cele cislo >= 1. Ssh pouziva tuto specialni hod-
notu pro forwardovani X11 spojeni pres bezpecny kanal. Uzivatel
normalne nesmi rucne nastavovat promennou DISPLAY, protoze pak
by X11 spojeni bylo nebezpecny (a bude vyzadovat, aby uzivatel
rucne kopiroval jakekoli pozadovane autorizacni cookies).
HOME Bude nastavena na cestu do uzivatelova domovskeho adresare.
LOGNAME
Synonymum pro USER; nastavuje se pro kompatibilitu se systemy,
ktere pouzivaji tuto promennou.
MAIL Bude nastavena na jmeno uzivatelova mailboxu.
PATH Bude nastavena na implicitni PATH zadanou pri prekladu programu
ssh, nebo na nekterych systemech definovanou v /etc/environment
nebo /etc/default/login.
SSH_AUTH_SOCK
Jestlize existuje, bude nastavena na jmeno (vcetne cesty) unix-
domain soketu pouziteho pro komunikaci s autentizacnim agentem
(nebo jeho lokalnim zastupcem).
SSH_CLIENT
Identifikuje klientsky konec spojeni. Tato promenna obsahuje tri
hodnoty oddelene mezerou: IP adresu klienta, cislo portu
klienta, a cislo portu serveru.
SSH_ORIGINAL_COMMAND
Bude obsahovat puvodni prikazovy radek, jestlize je spusten
zadany prikaz. Muze byt pouzita pro ziskani argumentu apod. z
opacneho konce.
SSH_TTY
Bude nastavena na jmeno tty (vcetne cesty) spojeneho s aktualnim
shellem nebo prikazem. Jestlize aktualni session nema zadne tty,
promenna nebude nastavena.
TZ Promenna timezone bude nastavena, aby oznacovala aktualni caso-
vou zonu, pokud byla nastavena pri spusteni demona (tj., demon
predava hodnota na nove spojeni).
USER Bude nastavena na jmeno prihlaseneho uzivatele.
Navic prikaz ssh cte soubor /etc/environment a $HOME/.ssh/environment,
a pridava radky tvaru PROMENNA=hodnota do prostredi. Nektere systemy
mohou mit dalsi mechanismy pro nastavovani prostredi, jako soubor
/etc/default/login na systemu Solaris.
SOUBORY
$HOME/.ssh/known_hosts
Obsahuje klice vsech pocitacu, na ktere se uzivatel prihlasil (a
ktere nejsou v /etc/ssh/ssh_known_hosts). Viz manualova stranka
k sshd.
$HOME/.ssh/random_seed
Pouzit jako hnizdo pro generator nahodnych cisel. Soubor obsa-
huje senzitivni data a proto musi mit prava read/write pro
uzivatele a zadna prava pro ostatni. Tento soubor je vytvoren
pri prvnim spusteni programu a je automaticky aktualizovan.
Uzivatel nikdy nemusi cist nebo modifikovat tento soubor rucne.
$HOME/.ssh/identity
Obsahuje RSA autentizacni identitu uzivatele. Tento soubor obsa-
huje senzitivni data a musi byt citelny uzivatelem, ale nedo-
stupny pro ostatni. Pri generovani klice je mozne specifikovat
pristupove heslo. Pristupove heslo bude pouzito na zasifrovani
senzitivni casti tohoto souboru pouzitim sifry IDEA.
$HOME/.ssh/identity.pub
Obsahuje verejny klic pro autentizaci (verejnou cast souboru
identity v podobe citelne clovekem). Obsah tohoto souboru musi
byt pridan do $HOME/.ssh/authorized_keys na vsech strojich, na
ktere se chcete prihlasovat s pouzitim RSA autentizace. Soubor
neobsahuje citliva data a muze (ale nemusi) byt citelny pro
kohokoli. Tento soubor neni nikdy pouzit automaticky a neni
nezbytny; je pouzit pouze pro snazsi praci uzivatele.
$HOME/.ssh/config
Konfiguracni soubor pro jednotlive uzivatele. Jeho format je
popsan vyse. Soubor je pouzivan ssh klientem. Obvykle neobsahuje
jakakoli citlive informace, ale doporucena prava jsou read/write
pro uzivatele, a zadna pro ostatni.
$HOME/.ssh/authorized_keys
Obsahuje seznam RSA klicu, ktere mohou byt pouzity pro
prihlasovani tohoto uzivatele. Jeho format je popsan v manualove
strance programu sshd. V nejjednodussim pripade je format
stejny jako format .pub identity souboru (to jest kazdy radek
obsahuje pocet bitu v modulu verejny exponent, modulus, a
komentarove pole, oddelene mezerami). Tento soubor neobsahuje
zvlaste citlive informace, ale doporucena prava jsou read/write
pro uzivatele, a zadna prava pro ostatni.
/etc/ssh/ssh_known_hosts
Seznam znamych klicu pocitacu pro cely system. Tento soubor musi
byt pripraven spravcem systemu tak, aby obsahoval verejne klice
vsech pocitacu v organizaci. Soubor musi byt citelny pro
vsechny. Soubor obsahuje verejne klice, jeden na radku, v nasle-
dujicim formatu (pole jsou oddelena mezerami): jmeno pocitace,
pocet bitu v modulu, verejny exponent, modulus, a nepovinny
komentar. Pouzivaji-li se ruzna jmena pro tyz stroj, musi byt v
souboru uvedena vsechna jeho jmena oddelena carkami. Format je
popsan na sshd manualove strance.
Program sshd pouziva kanonicke jmeno pocitace (vracene domain
name servery) pro verifikaci klientskych pocitacu pri
prihlasovani; ostatni jmena jsou potreba protoze ssh nekonver-
tuje uzivatelem zadane jmeno na kanonicke jmeno pred kontrolou
klice, aby osoba, ktera ma pristup k domain name serveru,
nemohla mast autentizaci pocitacu.
/etc/ssh/ssh_config
Konfiguracni soubor pro cely system (pro vsechny uzivatele).
Tento soubor poskytuje implicitni hodnoty, pro parametry, ktere
nejsou zadany v uzivatelove konfiguracnim souboru, a pro uziva-
tele, kteri nemaji konfiguracni soubor. Tento soubor musi byt
citelny pro vsechny.
$HOME/.rhosts
Tento soubor je pouzit pro .rhosts autentizaci. Obsahuje seznam
dvojic pocitac/uzivatel, pro ktere je povoleno prihlaseni.
(Pamatujte, ze tento soubor je take pouzivan programy rlogin a
rsh, diky kterym je pouziti tohoto souboru nebezpecne.) Kazdy
radek v tomto souboru obsahuje jmeno pocitace (v kanonicke forme
vracene domain name serverem) a jmeno uzivatele na tomto
pocitaci, oddelene mezerou. Tento soubor musi byt vlastneny
uzivatelem, a nesmi mit pravo zapisu pro nikoho jineho.
Doporucena prava jsou read/write pro uzivatele a zadna pro
ostatni.
Pamatujte, ze implicitne ma byt sshd instalovan tak, ze pozaduje
uspesnou RSA autentizaci pocitace pred .rhosts autentizaci.
Jestlize server nema klic klientskeho pocitace v souboru
/etc/ssh/ssh_known_hosts, muze uzivatel ulozit klic do souboru
$HOME/.ssh/known_hosts. Nejsnazsi zpusob, jak toho dosahnout,
je spojit se zpet ze serveru na klienta pomoci ssh; tim se klic
pocitace automaticky prida do souboru $HOME/.ssh/known_hosts.
$HOME/.shosts
Tento soubor se pouziva presne stejnym zpusobem jako .rhosts.
Jeho ucelem je umoznit rhosts autentizaci pro ssh, aniz by bylo
povoleno prihlaseni pomoci rlogin nebo rsh.
/etc/hosts.equiv
Tento soubor se pouziva pri autentizaci pomoci souboru .rhosts.
Obsahuje kanonicka jmena pocitacu, na kazdem radku jeden (format
je detailne popsan na manualove strance programu
sshd).Jestlizejeklientskypocitacnalezenvtomto souboru, je auto-
maticky povolene prihlaseni, pokud je jmeno uzivatele na serveru
i klientu stejne. Navic je normalne nutna uspesna RSA autenti-
zace pocitace. Tento soubor musi zapisovatelny pouze uzivatelem
root.
/etc/ssh/shosts.equiv
Tento soubor je zpracovavan presne jako /etc/hosts.equiv. Muze
byt uzitecny na povoleni prihlaseni pomoci ssh, ale nikoli pro
rsh/rlogin.
/etc/ssh/sshrc
Prikazy v tomto souboru budou provedeny programem ssh po
prihlaseni uzivatele, ale pred provedenim uzivatelova shellu
(nebo prikaz). Viz manualova stranka sshd pro dalsi informace.
$HOME/.ssh/rc
Prikazy v tomto souboru budou provedeny programem ssh po
prihlaseni uzivatele, ale pred provedenim uzivatelova shellu
(nebo prikaz). Viz manualova stranka sshd pro dalsi informace.
INSTALACE
Program ssh je normalne instalovan jako setuid root. Prava uzivatele
root potrebuje pouze pro autentizaci pomoci souboru rhosts (vyzaduje,
aby spojeni prichazelo z privilegovaneho portu, a alokovani takoveho
portu vyzaduje prava uzivatele root). Take musi byt schopen cist sou-
bor /etc/ssh/ssh_host_key pro RSA autentizaci pocitacu. Program ssh lze
pouzit bez opravneni uzivatele root, ale autentizace pomoci souboru
rhosts bude zakazana. Program ssh se vzda jakychkoli zvlastnich prav
bezprostredne po navazani spojeni se vzdalenym pocitacem.
Byla vynalozena znacna prace, aby byl program ssh bezpecny. Nicmene
pokud objevite bezpecnostni problem, oznamte to prosim ihned na <ssh-
bugs@cs.hut.fi>.
AUTOR
Tatu Ylonen <ylo@ssh.fi>
Informace o novych verzich, mailing listech, a podobne muzete nalezt na
domovske WWW strance programu ssh na http://www.cs.hut.fi/ssh.
VIZ TAKE
sshd(8), ssh-keygen(1), ssh-agent(1), ssh-add(1), scp(1), make-ssh-
known-hosts(1), rlogin(1), rsh(1), telnet(1)
SSH 8. listopadu 1995 SSH(1)