Provided by:
manpages-cs_0.17.20080113-1_all 
JMÉNO
sshd - secure shell démon
POUŽITÍ
sshd [-b bit] [-d ] [-f konfig_soubor] [-g login_grace_time]
[-h host_key_file] [-i ] [-k key_gen_time] [-p port] [-q ] [-V version]
POPIS
Program sshd (secure shell démon) je server pro ssh. Program ssh
nahrazuje programy rlogin a rsh a zajišťuje bezpečnou šifrovanou
komunikaci mezi dvěma nedůvěryhodnými počítači přes nezabezpečenou síť.
Programy ssh a sshd jsou navrženy tak, aby jejich instalace a používání
bylo co nejjednodušší.
Sshd je démon, který vyřizuje spojení klientů. Normálně je startován
při bootu ze souboru /etc/rc.local nebo jeho ekvivalentu. Pro každé
přicházející spojení vytváří nový podproces. Tyto procesy-potomci
zajišťují výměnu klíčů, šifrování, autentizaci, provedení příkazů, a
výměnu dat.
Sshd pracuje takto: Každý počítač má svůj vlastní RSA klíč (normálně
1024 bitový), který je používán pro identifikaci počítače. Navíc když
démon startuje, vygeneruje RSA klíč serveru (normálně 768 bitový).
Tento klíč není nikdy ukládán na disk, a jestliže je používán, je znovu
generován každou hodinu.
Kdykoli se klient připojí na démona, démon pošle klientovi svůj veřejný
klíč počítače. Klient jej porovná se svou databází, aby ověřil, že
nebyl změněn. Potom vygeneruje 256 bitové náhodné číslo, které
zašifruje použitím obou výše zmíněných klíčů a výsledek pošle na
server. Obě strany potom začnou používat toto náhodné číslo jako
session klíč pro šifrování veškeré další komunikace konvenční šifrou v
rámci celé session. V současnosti jsou podporovány šifry IDEA, DES,
3DES, ARCFOUR, a TSS (rychlý doma navržený algoritmus). Implicitně je
použita šifra IDEA. Klient vybere jeden z algoritmů podporovaných
serverem.
Potom server a klient zahájí autentizační dialog. Klient se pokusí
autentizovat pomocí .rhosts autentizace, .rhosts autentizace
kombinované s RSA autentizací počítače, RSA autentizace výzva-odpověď,
TIS autentizace, nebo autentizace založené na přihlašovacím heslu.
Rhosts autentizace je normálně zakázána, protože je v principu
nebezpečná, ale pokud je požadována, lze ji v konfiguračním souboru
serveru povolit. Pokud nejsou zakázány služby rshd(8), rlogind(8),
rexecd(8), a rexd (8) není bezpečnost systému použitím ssh zlepšena.
Zákaz zmíněných služeb ovšem zcela znemožní přihlášení na tento stroj
pomocí rlogin(1) a rsh(1)).
Jestliže se klient úspěšně autentizuje, je zahájen dialog pro přípravu
session. V tomto okamžiku může klient požadovat služby jako alokování
pseudoterminálu, forwardování X11 spojení, forwardování TCP/IP spojení,
nebo forwardování spojení pro autentizačního agenta bezpečným kanálem.
Na závěr klient buď požaduje spuštění shellu nebo provedení příkazu.
Obě strany potom vstoupí do režimu spojení. V tomto režimu může každá
strana posílat kdykoli data, a tato data jsou forwardována mezi shellem
nebo příkazem na straně serveru, a uživatelovým terminálem na straně
klienta.
Když uživatelský program skončí a všechna forwardovaná X11 a jiná
spojení jsou uzavřena, server vrátí klientovi ukončovací kód příkazu a
obě strany skončí.
Program sshd může být zkonfigurován pomocí voleb v příkazovém řádku
nebo pomocí konfiguračního souboru. Volby v příkazovém řádku mají
přednost před hodnotami zadanými v konfiguračním souboru.
Pokud je démonu sshd zaslán signál hangup (SIGHUP), načte znovu svůj
konfigurační soubor.
VOLBY
-b bit
Určuje počet bitů v klíči serveru (implicitně 768).
-d Ladící režim. Server zapisuje podrobný ladící výstup do
systémového logu a neběží v pozadí. Server také nebude vytvářet
podprocesy a bude zpracovávat pouze jedno spojení. Tato volba je
určena pouze pro ladění serveru.
-f konfig_soubor
Určuje jméno konfiguračního souboru. Implicitně
/etc/ssh/sshd_config.
-g login_grace_time
Udává časový limit, v němž se klienti musí autentizovat
(implicitně 600 sekund). Jestliže klient neautentizuje uživatele
během zadané doby, server odpojí klienta a skončí. Hodnota nula
znamená žádný limit.
-h host_key_file
Určuje soubor, z něhož se čte klíč počítače (implicitně
/etc/ssh/ssh_host_key). Tato volba musí být zadána, jestliže
sshd není spuštěn jako root (normálně tento soubor není čitelný
kýmkoli kromě roota).
-i Definuje, že sshd je spuštěn z inetd. Sshd normálně z inetd
spouštěn není, protože než může odpovědět klientovi, musí
vygenerovat klíč serveru, což může trvat desítky sekund. Pokud
by klíč byl pokaždé znovu generován, klienti by museli čekat
příliš dlouho. Pro klíče malé délky (například 512 bitů) však
může být spuštění sshd z inetd možné.
-k key_gen_time
Určuje, jak často má být znovu generován klíč serveru
(implicitně 3600 sekund neboli 1 hodina). Důvodem pro poměrně
časté generování klíče je, že i v případě, že by se počítače
zmocnil cracker nebo by byl ukraden, nebude přibližně po hodině
možné získat klíč pro dešifrování zachycené komunikace (klíč
není nikde uložen). Hodnota nula znamená, že klíč nebude nikdy
znovu generován.
-p port
Určuje číslo portu, na kterém server očekává spojení (implicitně
22).
-q Tichý režim. Do systémového logu se nic nepíše. Normálně se tam
zapisuje začátek, autentizace a ukončení každého spojení. -V
Režim kompatibility s SSH verze 2. Server při zadání této volby
předpokládá, že řetězec s číslem verze už od klienta přečetl SSH
démon verze 2 a proto nebude trvat na zaslání tohoto řetězce.
KONFIGURAČNÍ SOUBOR
Program sshd znovu načítá konfiguraci ze souboru /etc/ssh/sshd_config
(nebo souboru zadaného volbou -f na příkazovém řádku). Soubor obsahuje
řádky s dvojicemi klíčové_slovo-hodnota. Řádky začínající
Jsou povolena následující klíčová slova. V klíčových slovech se
nerozlišují malá a velká písmena.
AllowGroups
Toto klíčové slovo může být následováno libovolným počtem vzorků
jmen skupin oddělených mezerami. Pokud je zadáno, je přihlášení
povoleno pouze jestliže jméno primární skupiny uživatele
vyhovuje některému ze vzorků. Ve vzorcích mohou být použity
znaky '*' a '?' jako žolíky. Implicitně je povoleno přihlášení
všech uživatelů.
Pamatujte, že i v tomto případě musí být při přihlašování
úspěšně provedeny všechny ostatní autentizační kroky.
AllowGroups a DenyGroups jsou dodatečná omezení.
AllowHosts
Toto klíčové slovo může být následováno libovolným počtem vzorků
jmen počítačů oddělených mezerou. Pokud je zadáno, přihlášení je
povoleno pouze z počítačů, jejichž jméno vyhovuje některému ze
vzorků. Ve vzorcích mohou být použity znaky '*' a '?' jako
žolíky. Normálně je pro získání kanonického jména počítače
použito DNS. Jestliže jméno není nalezeno, bude jako jméno
počítače použita IP adresa. Implicitně je povoleno připojení ze
všech počítačů.
Pamatujte, že sshd může být také zkonfigurováno pro použití
tcp_wrapperu použitím konfigurační volby --with-libwrap při
překladu.
AccountExpireWarningDays
Určuje, kolik dní před vypršením účtu se budou vypisovat
varování o tom, že účet vyprší. Implicitní hodnota je 14 dní.
Nastavení na 0 zakáže vypisování varování.
AllowSHosts
Klíčové slovo může být následováno libovolným počtem vzorků jmen
počítačů oddělených mezerami. Je-li zadáno, bude přihlíženo k
položkám v souborech .shosts (a .rhosts a /etc/hosts.equiv)
pouze u těch počítačů, jejichž jméno vyhovuje některému ze
vzorků. Ve vzorcích mohou být použity znaky '*' a '?' jako
žolíky. Pro získání kanonického jména strojů bude použito DNS.
Pokud nelze kanonické jméno získat, bude jako jméno stroje
použita jeho IP adresa. Implicitně je dovoleno připojení všem
počítačům.
AllowTcpForwarding
Určuje, zda je povolen TCP forwarding. Implicitní hodnota je
"yes". Pamatujte, že zákaz TCP forwardingu nijak nezlepší
bezpečnost, protože uživatelé si mohou vždy nainstalovat vlastní
forwardery.
AllowUsers
Toto klíčové slovo může být následováno libovolným počtem vzorků
jmen uživatelů nebo vzorků tvaru uživatel@stroj oddělených
mezerami. Stroj může být zadán buď doménovým jménem nebo IP
adresou. Pokud je zadáno, bude přihlášení povoleno pouze pro
uživatele, jejichž jména vyhovují některému ze vzorků. Ve
vzorcích mohou být použity znaky uživatelů.
Pamatujte, že všechny ostatní autentizační kroky musí být stále
úspěšně provedeny. Volby AllowUsers a DenyUsers jsou dodatečná
omezení.
CheckMail
Určuje, zda má sshd vypisovat informace, jestli uživatel má
novou poštu, při interaktivním přihlášení. (Na některých
systémech je tato informace vypisována shellem, nebo ze souboru
/etc/profile nebo jeho ekvivalentu.) Implicitní hodnota je
"yes".
DenyGroups
Toto klíčové slovo může být následováno libovolným počtem vzorků
jmen skupin oddělených mezerami. Pokud je zadáno, je všem
uživatelům, jejichž primární jméno skupiny vyhovuje některému ze
vzorků, zakázáno přihlášení.
DenyHosts
Toto klíčové slovo může být následováno libovolným počtem vzorků
jmen počítačů oddělených mezerami. Pokud je zadáno, je zakázáno
přihlášení ze všech počítačů, jejichž jméno vyhovuje některému
ze vzorků.
DenySHosts
Toto klíčové slovo může být následováno libovolným počtem vzorků
jmen počítačů oddělených mezerami. Je-li zadáno budou ignorovány
položky v souborech .shosts (a .rhosts a /etc/hosts.equiv) u
strojů, jejichž jména vyhovují některému ze vzorků.
DenyUsers
Toto klíčové slovo může být následováno libovolným počtem vzorků
jmen uživatelů nebo vzorků tvaru uživatel@stroj oddělených
mezerami. Stroj může být zadán buď doménovým jménem nebo IP
adresou. Pokud je zadáno, je všem uživatelům, jejichž jméno
vyhovuje některému ze vzorků, zakázáno přihlášení.
FascistLogging
Určuje, zda použít podrobné logování. Porušuje soukromí
uživatelů a není doporučeno. Argument musí být "yes" nebo "none"
(bez uvozovek). Implicitní hodnota je "none".
ForcedEmptyPasswdChange
Určuje, zda donutit uživatele ke změně hesla pokud je heslo
prázdné (při prvním přihlášení). Argument musí být "yes" nebo
"no" (bez uvozovek). Implicitní hodnota je "no".
ForcedPasswdChange
Určuje, zda nutit uživatele ke změně hesla pokud je heslo
prošlé. Argument musí být "yes" nebo "no" (bez uvozovek).
Implicitní hodnota je "yes".
HostKey
Určuje jméno souboru, který obsahuje soukromý klíč počítače
(implicitně /etc/ssh/ssh_host_key).
IdleTimeout čas
Specifikuje dobu udržování nečinného spojení. Pokud v žádném
kanálu používajícím určité ssh spojení neprobíhá po zadaný
časový interval žádná komunikace, bude odpovídající podproces
sshd zabit signálem SIGHUP a spojení bude uzavřeno. Časový limit
je možné zadat v sekundách (písmeno s za číslem nebo pouze
číslo), minutách (m), hodinách (h), dnech (d), nebo týdnech (w).
IgnoreRhosts
Určuje, že při autentizaci nabudou používány soubory rhosts a
shosts. Soubory /etc/hosts.equiv a /etc/ssh/shosts.equiv budou
stále používány. Implicitní hodnota je "none".
IgnoreRootRhosts
Určuje, že při autentizaci uživatele root nabudou používány
soubory rhosts a shosts. Implicitní hodnotou je hodnota
IgnoreRhosts.
KeepAlive
Specifikuje, zda má systém posílat protistraně udržovací zprávy
(keepalive messages). Budou-li posílány, server bude schopen
odhalit ukončení spojení nebo havárii klienta. Nevýhodou je, že
k ukončení spojení může dojít i při dočasném přerušení
komunikace (způsobeném například krátkým výpadkem sítě), což je
pro některé uživatele nepřijatelné. Na druhou stranu, pokud
udržovací zprávy nejsou zasílány, mohou na serveru zůstat viset
neukončená spojení, která zatěžují server.
Implicitní hodnota je "yes" (posílat udržovací zprávy), při níž
server bude informován o neočekávaných ukončeních spojení a bude
uzavírat neaktivní session.
Pro zákaz posílání udržovacích zpráv, musí být hodnota nastavena
na "none" v konfiguračním souboru serveru i klienta.
KerberosAuthentication
Určuje, zda je povolena autentizace protokolem Kerberos V5. Může
být ve formě Kerberos tiketů, nebo pokud je povolena
PasswordAuthentication, bude přihlašovací heslo zadané
uživatelem ověřováno pomocí Kerberos KDC nebo DCE Security
Server. Implicitní hodnota je yes.
KerberosOrLocalPasswd
Jestliže je nastaveno a selže autentizace přihlašovacího hesla
protokolem Kerberos, pak bude přihlašovací heslo ověřováno
pomocí lokálního mechanismu, jakým je soubor /etc/passwd nebo
SecurID. Implicitní hodnota je "no".
KerberosTgtPassing
Určuje, zda může být Kerberos V5 TGT forwardován na server.
Implicitní hodnota je yes.
KeyRegenerationInterval
Klíč serveru je opakovaně automaticky generován po uplynutí
zadaného času (v sekundách). Účelem změn klíče je znemožnit
dešifrování zachyceného spojení když by došlo k pozdějšímu
proniknutí na počítač a krádeži klíčů. Klíč nikdy není nikde
uložený. Je-li hodnota 0, klíč nebude nikdy znovu generován.
Implicitní hodnota je 3600 (sekund).
ListenAddress
Určuje IP adresu rozhraní, na kterém je připojen server.
LoginGraceTime
Server se odpojí po uplynutí zadaného času, jestliže se uživatel
nepřihlásí. Je-li hodnota 0, není žádný časový limit.
Implicitní hodnota je 600 (sekund).
PasswordAuthentication
Určuje, zda je povolena autentizace přihlašovacím heslem.
Implicitní hodnota je "yes".
PasswordExpireWarningDays
Určuje, kolik dní před vypršením hesla vypisovat varování.
Implicitní hodnota je 14 dní. Nastavení na 0 způsobí, že
varování nebudou vypisována.
PermitEmptyPasswords
Jestliže je povolena autentizace přihlašovacím heslem, určuje
tato položka, zda server dovolí přihlášení na účet, který má
prázdné přihlašovací heslo. Implicitní hodnota je "yes".
PermitRootLogin
Určuje, zda může být pomocí ssh přihlášen root. Může být
nastaveno na "yes", "nopwd", nebo "none". Implicitní hodnota je
"yes", která umožňuje, aby se uživatel root mohl přihlásit s
použitím jakéhokoli autentizačního mechanismu povoleného pro
jiné uživatele. Hodnota "nopwd" zakazuje autentizaci
přihlašovacím heslem. Hodnota "none" zakazuje přihlašování
uživatele root s použitím jakékoli autentizační metody.
(Hodnoty "nopwd" a "none" jsou ekvivalentní, pokud nejsou v
domovském adresáři uživatele root soubory .rhosts, .shosts, nebo
.ssh/authorized_keys.)
Bez ohledu na hodnotu tohoto nastavení bude povoleno vzdálené
provedení příkazu uživatelem root s RSA autentizací (tj. příkaz
ssh musí obsahovat parametr "příkaz"). Užitečné například pro
vzdálené zálohování.
PidFile
Určuje umístění souboru, který obsahuje process ID hlavního sshd
démona (implicitně /etc/sshd.pid nebo /var/run/sshd.pid, podle
systému).
Port Určuje číslo portu, na němž sshd očekává spojení. Implicitní
hodnota je 22.
PrintMotd
Určuje, zda sshd bude vypisovat /etc/motd když se uživatel
přihlásí interaktivně. (Na některých systémech se tento soubor
vypisuje zvláštním příkazem umístěným v /etc/profile nebo
obdobném souboru.) Implicitní hodnota je "yes".
QuietMode
Určuje, zda sshd běží v tichém režimu. V tomto režimu se do log
souboru vypisují pouze fatální chyby (fatal errors). Implicitní
hodnota je "none".
RandomSeed
Definuje jméno souboru obsahující hnízdo náhodných čísel pro
server; tento soubor je vytvořen automaticky a pravidelně je
aktualizován. Implicitní hodnota je /etc/ssh/ssh_random_seed.
RhostsAuthentication
Určuje, zda je dostačující autentizace pomocí souborů rhosts
nebo /etc/hosts.equiv. Normálně tato metoda nesmí být povolena,
protože je nebezpečná. Místo ní by měla být použita
RhostsRSAAuthentication, protože kromě normální autentizace
používající soubory rhosts nebo /etc/hosts.equiv provádí RSA
autentizaci počítače. Implicitní hodnota je "none".
RhostsRSAAuthentication
Určuje, zda je dovolena rhosts nebo /etc/hosts.equiv autentizace
spolu s úspěšnou RSA autentizací počítače. Implicitní hodnota je
"yes".
RSAAuthentication
Určuje, zda je povolena samotná RSA autentizace. Implicitní
hodnota je "yes".
ServerKeyBits
Udává délku klíče serveru v bitech. Minimální hodnota je 512,
implicitní 768.
SilentDeny
Určuje, zda odmítnutá spojení jsou odmítnuta tiše (pouze se
uzavře spojení bez zanesení informací do logu), nebo zda bude
zasláno klientovi chybové hlášení a pokus o spojení bude zanesen
do logu.
StrictModes
Určuje, zda ssh bude kontrolovat práva a vlastníka uživatelova
domovského adresáře a souboru rhosts před přihlášením. Obvykle
žádoucí, protože začátečníci někdy omylem nechají svůj adresář
nebo své soubory zapisovatelné pro všechny. Implicitní hodnota
je "yes".
SyslogFacility
Udává jméno facility použité programem sshd pro zanášení
chybových hlášení do logu. Možné hodnoty jsou: DAEMON, USER,
AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6,
LOCAL7. Implicitní hodnota je DAEMON.
TISAuthentication
Určuje, zdali je povolena autentizace pomocí TIS authsrv(8).
Implicitní hodnota je "none".
Umask Nastaví implicitní hodnotu umask pro sshd a jeho podprocesy.
Hodnota musí začínat číslicí 0, aby byla brána jako osmičkové
číslo! Implicitně není umask nastavena.
X11Forwarding
Určuje, zda X11 je povoleno forwardování. Implicitní hodnota je
"yes". Pamatujte, že zákaz X11 forwardování nezlepší
bezpečnost, protože uživatelé si mohou vždy nainstalovat svoje
vlastní forwardery.
X11DisplayOffset
Určuje první číslo displeje použitelné pro X11 forwarding.
Slouží k tomu, aby se čísla displejů používaných sshd
nepřekrývala s čísly používanými skutečnými X11 servery.
XAuthLocation
Určuje cestu k programu xauth.
PROCES PŘIHLAŠOVÁNÍ
Když se uživatel úspěšně přihlásí, sshd provede následující akce:
1. Jestliže je přihlášen na tty, a nebyl zadán žádný příkaz, vypíše
čas posledního přihlášení a obsah souboru /etc/motd (pokud není
zakázáno v konfiguračním souboru nebo souborem $HOME/.hushlogin;
viz sekce SOUBORY).
2. Jestliže je přihlášen na tty, zaznamená čas přihlášení.
3. Zkontroluje /etc/nologin; pokud existuje, vypíše jeho obsah a
skončí (není-li uživatel root).
4. Přepne na normální uživatelova práva.
5. Nastaví základní prostředí.
6. Načte soubor /etc/environment, pokud existuje.
7. Načte $HOME/.ssh/environment, pokud existuje.
8. Přepne se do uživatelova domovského adresáře.
9. Jestliže existuje soubor $HOME/.ssh/rc, interpretuje jej
(uživatelovým shellem); jinak jestliže existuje /etc/ssh/sshrc,
interpretuje jej (shellem /bin/sh); jinak spustí xauth. Soubory
"rc" jsou dány X11 autentizačním protokolem a cookie na
standardní vstupu.
10. Spustí uživatelův shell nebo příkaz.
FORMÁT SOUBORU AUTHORIZED_KEYS
Soubor $HOME/.ssh/authorized_keys obsahuje seznam RSA klíčů pro RSA
autentizaci. Každý řádek souboru obsahuje jeden klíč (prázdné řádky a
řádky začínající znakem '#' jsou ignorovány jako komentáře). Každý
řádek sestává z následujících položek, oddělených mezerami: volby,
počet bitů, exponent, modulo, komentář. Položka volby je nepovinná;
pokud řádek začíná číslem, položka není přítomna (položka volba nikdy
nezačíná číslem). Položky počet bitů, exponent, modulo a komentář
definují RSA klíč; položka komentář není povinná, ale může být užitečná
pro uživatele pro identifikaci klíče.
Pamatujte, že řádky v tomto souboru jsou obvykle několik stovek bytů
dlouhé (díky velikosti položky modulo RSA klíče). Uživatel je ale
nemusí opisovat, stačí pouze zkopírovat soubor identity.pub a editovat
jej.
Položka volby (pokud jsou přítomné) sestávají ze seznamu voleb
oddělených čárkami. Nesmí obsahovat žádné mezery, kromě mezer uvnitř
uvozovek. Ve jménech voleb se nerozlišují malá a velká písmena. Jsou
podporovány následující volby: jsou supported:
from="seznam-vzorků"
Určuje, že kromě RSA autentizace, musí být kanonické jméno
vzdáleného počítače uvedeno v seznamu-vzorků. Seznam může
obsahovat několik položek oddělených čárkou. Každá položka může
obsahovat znaky jestliže kanonické jméno počítače vyhovuje
takovému vzorku, klíč nebude akceptován. Účelem této volby je
další zvýšení bezpečnosti: RSA autentizace nedůvěřuje adrese
nebo jménu serveru ani ničemu jinému kromě klíče; nicméně pokud
někdo ukradne klíč, bude se jeho použitím moci přihlásit
odkudkoli. Tato dodatečná volba dále ztěžuje použití ukradeného
klíče (kromě získání klíče musí být zfalšováno ještě jméno
serveru nebo routeru).
command="příkaz"
Požaduje provedení zadaného příkazu kdykoli je tento klíč použit
pro autentizaci. Uživatelem zadaný příkaz bude ignorován. Tento
příkaz bude spuštěn na pseudoterminálu jestliže spojení
pseudoterminál požaduje; jinak bude spuštěn bez tty. Uvozovky v
příkazu musí být uvedeny znakem obrácené lomítko. Tato volba
může být vhodná pro omezení, aby s jistým RSA klíčem bylo možné
provést pouze určitou konkrétní operaci. Příklade by mohl být
klíč, který umožní vzdálené zálohování, ale nic jiného. Klient
může specifikovat TCP/IP nebo X11 forwardování, pokud není
explicitně zakázáno.
environment="NAME=hodnota"
Určuje výraz, který má být přidán do prostředí při přihlašování
s tímto klíčem. Hodnoty proměnných prostředí nastavené tímto
způsobem mají přednost před implicitními hodnotami. Je povoleno
více voleb tohoto typu.
idle-timeout=čas
Specifikuje dobu udržování nečinného spojení. Pokud v žádném
kanálu používajícím určité ssh spojení neprobíhá po zadaný
časový interval žádná komunikace, bude odpovídající podproces
sshd zabit signálem SIGHUP a spojení bude uzavřeno. Časový limit
je možné zadat v sekundách (písmeno s za číslem nebo pouze
číslo), minutách (m), hodinách (h), dnech (d), nebo týdnech (w).
no-port-forwarding
Zakáže TCP/IP forwardování když je tento klíč použit pro
autentizaci. Jakékoli požadavky na forwardování portu z klient
vrátí chybu. Může být použito například ve spojení s volbou
příkaz.
no-X11-forwarding
Zakáže X11 forwardování když je tento klíč použit pro
autentizaci. Jakékoli požadavky na forwardování X11 spojení z
klienta vrátí chybu.
no-agent-forwarding
Zakáže forwardování pro autentizačního agenta když je tento klíč
použit pro autentizaci.
no-pty
Zabrání přidělení pseudoterminálu (požadavek na přidělení pty
skončí chybou).
Příklady
1024 33 12121...312314325 ylo@foo.bar
z="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23...2334 ylo@niksula
command="dump /home",no-pty,no-port-forwarding 1024 33 23...2323
backup.hut.fi
SSH S TCP WRAPPERY
Pokud je sshd zkompilováno s knihovnami tcp wrapperu, soubory
host.allow/deny ovlivňují, kdo se může připojit na porty forwardované
programem sshd.
Jména programů v souborech hosts.allow/deny jsou sshdfwd-<sluba>,
sshdfwd-<slo-portu> a sshdfwd-X11 pro forwardování portů, které ssh
klient nebo server očekává.
Pokud má nějaký port přiřazeno jméno služby, musí být použito toto
jméno.
SSH_KNOWN_HOSTS FILE FORMAT
Soubory /etc/ssh/ssh_known_hosts a $HOME/.ssh/known_hosts obsahují
veřejné klíče všech známých počítačů. První ze souborů (platí pro
všechny uživatele) připravuje správce, zatímco soubory pro jednotlivé
uživatele jsou spravovány automaticky: kdykoli se uživatel připojí na
neznámý počítač, bude klíč tohoto počítače přidán do uživatelského
souboru. Doporučeným způsobem vytvoření souboru
/etc/ssh/ssh_known_hosts je použití příkazu make-ssh-known-hosts.
Každý řádek v těchto souborech obsahuje následující položky: jména
počítačů, délka klíče v bitech, exponent, modulo a komentář. Pole jsou
oddělena mezerami.
Jména počítačů je seznam vzorků oddělených čárkami (znaky '*' a '?'
fungují jako žolíky); každý vzorek se porovnává s kanonickým jménem
počítače (když se autentizuje klient) nebo se jménem zadaným uživatelem
(když se autentizuje server). Znak vykřičník '!' před vzorkem znamená
negaci: jestliže jméno počítače vyhovuje negovanému vzorku, nebude
přijato (tímto řádkem) i když vyhovuje jinému vzorku na řádku.
Délka klíče v bitech, exponent a modulo jsou hodnoty charakterizující
přímo klíč počítače; mohou být získány například ze souboru
/etc/ssh/ssh_host_key.pub. Nepovinné pole komentáře může zabírat
zbytek řádku, a nemá žádný význam.
Řádky začínající znakem '#' a prázdné řádky jsou ignorovány jako
komentáře.
Autentizace počítače je úspěšná jestliže jakýkoli z řádků, který
obsahuje vzorek vyhovující jménu počítače, má správný klíč. Proto je
přípustné (ale nedoporučené) mít několik řádků nebo různé klíče
počítačů pro stejná jména. K tomu nevyhnutelně dojde, když budou v
souboru použita zkrácená jména počítačů z jiné domény. Je možné, že
soubory budou obsahovat konfliktní informace; autentizace bude úspěšná,
jestliže v některém ze souborů bude nalezena platná informace.
Pamatujte, že řádky v těchto souborech mají typicky stovky znaků
dlouhé, a určitě je nikdo nebude zadávat ručně. Místo toho je možné je
generovat skriptem (viz make-ssh-known-hosts(1)), nebo je možné
zkopírovat soubory /etc/ssh/ssh_host_key.pub a na začátek řádku přidat
jméno počítače.
Příklady
closenet,closenet.hut.fi,...,130.233.208.41 1024 37 159...93
closenet.hut.fi
SOUBORY
/etc/ssh/sshd_config
Obsahuje konfigurační data pro sshd. Tento soubor musí být
zapisovatelný pouze uživatelem root, ale je doporučeno (i když
nikoli nezbytné), aby byl čitelný pro všechny.
/etc/ssh/ssh_host_key
Obsahuje soukromý klíč počítače. Normálně je vytvořen
automaticky příkazem "make install", ale může být vytvořen i
ručně použitím příkazu ssh-keygen(1). Soubor musí být vlastněný
uživatelem root, čitelný pouze pro uživatele root, a nedostupný
pro ostatní.
/etc/ssh/ssh_host_key.pub
Obsahuje veřejný klíč počítače. Normálně je vytvořen automaticky
příkazem "make install", ale může být vytvořen i ručně. Musí být
čitelný pro všechny, ale zapisovatelný pouze uživatelem root.
Jeho obsah musí odpovídat soukromému klíči. Tento soubor není je
skutečnosti vůbec používán; slouží pouze k tomu, aby jeho obsah
mohli uživatelé přidat do souborů se známými počítači na jiných
počítačích.
/etc/ssh/ssh_random_seed
Soubor obsahuje hnízdo pro generátor náhodných čísel. Musí být
přístupný pouze uživateli root.
/var/run/sshd.pid
Obsahuje číslo hlavního procesu sshd (jestliže existuje několik
démonů běžících na různých portech, bude obsahovat pid
posledního odstartovaného sshd procesu). Obsah tohoto souboru
není senzitivní; může být čitelný pro všechny.
$HOME/.ssh/authorized_keys
Obsahuje seznam RSA klíčů, které mohou být použity pro
přihlášení na uživatelův účet. Soubor musí být čitelný
uživatelem root (což může na některých strojích znamenat, že
bude čitelný pro všechny, jestliže uživatelův domovský adresář
je na disku NFS). Je však doporučeno, aby soubor nebyl čitelný
pro nikoho kromě uživatele root. Formát tohoto souboru je
popsaný výše.
/etc/ssh/ssh_known_hosts a $HOME/.ssh/known_hosts
Tyto soubory jsou použity při kontrole veřejného klíče počítače
při použití autentizace pomocí souborů rhosts spojené s ověřením
RSA klíče počítače. Klíč musí být uveden v jednom z těchto
souborů. (Klient používá stejné soubory pro verifikaci, že
vzdálený počítač je ten, ke kterému se chtěl připojit.) Soubory
musí být zapisovatelné pouze uživatelem root, respektive
vlastníkem. /etc/ssh/ssh_known_hosts musí být čitelný pro
všechny, a $HOME/.ssh/known_hosts může ale nemusí být čitelný
pro všechny.
/etc/nologin
Jestliže tento soubor existuje, sshd bude se moci přihlásit
pouze uživatel root. Obsah souboru bude vypsán komukoli, kdo se
pokusí přihlásit, a ne-root spojení budou odmítnuta. Soubor
musí být čitelný pro všechny.
$HOME/.rhosts
Tento soubor obsahuje dvojice počítač-jméno uživatele, oddělené
mezerou, na každém řádku jeden. Daným uživatelům na
odpovídajících počítačích je povoleno přihlášení bez
přihlašovacího hesla. Stejný soubor je použit programem rlogind
a rshd. Rozdíl mezi ssh a rlogind a rshd je v tom, že kromě
ověření jména počítače pomocí domain name serveru požadují RSA
autentizaci počítače (pokud nejsou přeloženy s konfigurační
volbou --s-rhosts). Soubor musí být zapisovatelný pouze
uživatelem; doporučuje se, aby nebyl čitelný pro nikoho jiného.
V souboru je také možné použít netgroups. Jak jméno počítače tak
uživatele může být ve formě +@groupname pro uvedení všech
počítačů nebo všech uživatelů ve skupině.
$HOME/.shosts
Pro ssh se používá tento soubor přesně stejným způsobem jako
.rhosts. Protože však není používán programy rlogind a rshd,
bude umožňovat pouze přístup pomocí ssh.
/etc/hosts.equiv
Tento soubor je použitý při autentizaci pomocí souboru .rhosts.
V nejjednodušší formě obsahuje jména počítačů, na každém řádku
jedno. Uživatelům z těchto počítačů je povoleno přihlášení bez
uvedení hesla za podmínky, že mají stejné uživatelské jméno na
obou strojích. Pokud je jméno počítače následováno jménem
uživatele, bude se moci příslušný uživatel přihlásit pod
jakýmkoli jménem na tomto stroji (kromě uživatele root). navíc
může být použito +@group pro zadání netgroups. Negované položky
začínají znakem '-'.
Jestliže dvojice klientský počítač/uživatel je úspěšně nalezena
v tomto souboru, bude automaticky povoleno přihlášení, pokud
uživatelská jména na klientu a serveru jsou stejná. Navíc je
normálně požadována úspěšná RSA autentizace počítače. Tento
soubor musí být zapisovatelný pouze uživatelem root; doporučuje
se, aby byl čitelný pro všechny.
Varování: Téměř nikdy není dobré uvádět v souboru hosts.equiv
jména uživatelů. Znamená to, že uvedení uživatelé se mohou
přihlásit jako kdokoli (včetně uživatelů bin, daemon, adm, a
jiných uživatelů, kteří vlastní kritické programy a adresáře.
Použití jména uživatele prakticky zajišťuje uživateli přístup
roota. Jediné rozumné použití uživatelských jmen je proto v
negovaných položkách. Pamatujte, že toto varování se také
vztahuje na rsh/rlogin.
/etc/ssh/shosts.equiv
Tento soubor je zpracováván přesně stejně jako /etc/hosts.equiv.
Může být užitečný v prostředích, kde se používá jak rsh/rlogin
tak ssh.
/etc/environment
Tento soubor (jestliže existuje) je načten do prostředí
(environmentu) při přihlášení. Může obsahovat pouze prázdné
řádky, komentářové řádky (začínající znaky '#'), a řádky ve
tvaru jméno=hodnota. Tento soubor je zpracováván ve všech
systémech (normální rsh/rlogin jej zpracovávají pouze na AIX).
Soubor musí být zapisovatelný pouze uživatelem root, a musí být
čitelný pro všechny.
$HOME/.ssh/environment
Tento soubor je načten do prostředí po /etc/environment. Má
stejný formát. Soubor musí být zapisovatelný pouze uživatelem;
nemusí být čitelný nikým jiným.
$HOME/.ssh/rc
Jestliže tento soubor existuje, bude interpretován uživatelovým
shellem po načtení souborů environment, ale před spuštěním
uživatelova shellu nebo příkazu. Jestliže se používá X11
spoofing, přijme pár "proto cookie" ze standardního vstupu (a
proměnnou prostředí DISPLAY). Proto musí v tomto případě vyvolat
xauth.
Primárním účelem tohoto souboru je spustit jakékoli
inicializační rutiny, které mohou být potřebné než je dostupný
uživatelův domovský adresář. Příkladem může být použití AFS.
Soubor pravděpodobně bude obsahovat nějaký inicializační kód
následovaný něčím jako "if read proto cookie; then echo add
$DISPLAY $proto $cookie | xauth -q -; fi".
Jestliže tento soubor neexistuje, bude spuštěn /etc/ssh/sshrc, a
jestliže neexistuje ani ten, bude použito xauth pro uložení
cookie.
Soubor musí být zapisovatelný pouze uživatelem, a nemusí být
čitelný nikým jiným.
/etc/ssh/sshrc
Má stejný význam jako $HOME/.ssh/rc, ale spouští se pomocí
/bin/sh. Tento soubor může být použit pro specifikaci
inicializací prováděných při přihlášení libovolného uživatele k
danému stroji. Soubor musí být zapisovatelný pouze uživatelem
root, a musí být čitelný pro všechny.
/etc/ssh/sshd_tis.map
Vytvoří mapování mezi a lokálním uživatelským jménem a
odpovídajícím jménem v TIS databáze. Každý řádek obsahuje
lokální jméno následované znakem ":" následovaným odpovídajícím
jménem. Jestliže soubor neexistuje nebo uživatel není nalezen,
předpokládá se že odpovídající jméno v TIS databáze je stejný.
INSTALACE
Program sshd se normálně spouští jako root. Jestliže není spuštěn jako
root, může být použit pouze pro přihlašování uživatele, kterým je
spuštěn, a pokud systém používá /etc/shadows, nebude fungovat
autentizace přihlašovacím heslem. Také musí být použit alternativní
soubor s klíčem počítače.
Program sshd se normálně startuje ze souboru /etc/rc.local nebo
ekvivalentního při bootu systému.
Byla vynaložena značná práce, aby byl program sshd bezpečný. Pokud
přesto objevíte bezpečnostní problém, oznamte to prosím ihned na
<ssh-bugs@cs.hut.fi>.
AUTOR
Tatu Ylonen <ylo@ssh.fi>
Informace o nových verzích, mailing listech, a podobně můžete nalézt na
domovské WWW stránce programu ssh na http://www.cs.hut.fi/ssh.
VIZ TAKÉ
ssh(1), make-ssh-known-hosts(1), ssh-keygen(1), ssh-agent(1),
ssh-add(1), scp(1), rlogin(1), rsh(1)
VAROVÁNÍ
Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho
aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/