MAKE-SSH-KNOWN-HOSTS(1) SSH TOOLS MAKE-SSH-KNOWN-HOSTS(1)
JMENO
make-ssh-known-hosts - podle informaci z DNS vytvori soubor
ssh_known_hosts
POUZITI
make-ssh-known-hosts
[--initialdns pocatecni_dns]
[--server domain_name_server]
[--subdomains carkami_oddeleny_seznam_poddomen]
[--debug ladici_uroven]
[--timeout timeout_pro_ssh]
[--pingtimeout timeout_pro_ping]
[--passwordtimeout timeout_pri_vyzadani_hesla]
[--notrustdaemon]
[--norecursive]
[--domainnamesplit]
[--silent]
[--keyscan]
[--nslookup cesta_k_programu_nslookup]
[--ssh cesta_k_programu_ssh]
domena [take_regexp [remove_regexp]]"
POPIS
Program make-ssh-known-hosts je skript napsany v jazyce Perl verze 5.
Slouzi pro vytvoreni souboru /etc/ssh/ssh_known_hosts, ve kterem pro-
gram ssh hleda ssh klice verejne znamych pocitacu. Program ssh
normalne nepripousti prihlaseni s pouzitim autentizace pomoci souboru
rhosts nebo /etc/hosts.equiv, pokud server nezna klic klientskeho
pocitace. Klice pocitacu jsou pouzity k zabraneni utokum typu man-in-
the-middle.
Krome souboru /etc/ssh/ssh_known_hosts ssh take pouziva uzivatelske
soubory $HOME/.ssh/known_hosts. Tento soubor je pouzit pouze pro ty
pocitace, na ktere se prihlasuje urcity uzivatel, ale ktere nejsou v
globalnim souboru. Soubor /etc/ssh/ssh_known_hosts by mel byt udrzovan
spravcem systemu tak, aby obsahoval klice vsech pocitacu v uzlu, na
ktere je mozne se prihlasit pomoci ssh.
Program make-ssh-known-hosts nejdrive dotazem na master domain name
server domeny zjisti seznam vsech pocitacu v domene. Master domain name
server je hledan dotazem na SOA zaznam domeny na pocatecnim domain name
serveru (ktery muze byt zadan volbou --initialdns). Master domain name
server muze byt take zadan primo volbou --server.
Po ziskani seznamu pocitacu se program make-ssh-known-hosts pokusi
ziskat verejny klic jednotlivych pocitacu v domene. Pripojuje se na ssh
port, aby zkontroloval, zda je pocitac v provozu, a potom na vzdalenem
stroji zkusi pouzitim ssh spustit prikaz cat /etc/ssh/ssh_host_key.pub.
V pripade uspechu je zjisteno, ze vzdaleny stroj ma spravne nainstalo-
vane ssh, a zaroven je ziskan verejny klic vzdaleneho pocitace, ktery
bude ulozen do /etc/ssh/ssh_known_hosts. Protoze make-ssh-known-hosts
byva obvykle spousten drive nez maji vzdalene stroje soubor
/etc/ssh/ssh_known_hosts, bude pravdepodobne nutne pro povoleni
pristupu na pocitace pouzit RSA autentizaci.
Jestlize prikaz z nejakeho duvodu selze, zkontroluje, zdali ssh klient
ziskal verejny klic ze vzdaleneho pocitace v uvodnim dialogu, a pokud
ano, vypise odpovidajici polozku. Jestlize byla zadana volba --notrus-
tdaemon, bude polozka vypsana jako vykomentovana.
Parametr domain_name je jmeno domeny, pro kterou ma byt generovan
soubor. Implicitne prikaz make-ssh-known-hosts take zpracuje vsechny
poddomeny dane domeny. V uzlech, ktere budou potrebovat zahrnout
nekolik domen do svych souboru /etc/ssh/ssh_known_hosts, bude muset byt
program make-ssh-known-hosts spusten znovu pro jednotlive domeny.
Vysledky potom musi byt zkombinovany do vysledneho souboru.
Parametr take_regexp je regularni vyraz jazyka Perl, kterym lze omezit,
jake pocitace z domeny maji byt kontrolovany. S regularnim vyrazem se
porovnavaji DNS zaznamy zapsane ve tvaru "jmeno=hodnota". Polozky jsou
oddeleny znaky newline, a Perlovsky test na regularni vyraz je provaden
v multiline modu a bez rozlisovani malych a velkych pismen. Multiline
mod znamena, ze lze pouzit regularni vyraz jako "^wks=.*telnet.*$" pro
vyber vsech pocitacu, jejichz WKS (well known services) zaznamy obsa-
huji hodnotu "telnet".
Parametr remove_regexp se pouzije podobnym zpusobem, ale pocitace,
ktere vyhovuji tomuto regularnimu vyrazu, nebudou pridany (parametr
muze byt pouzit napriklad pro odfiltrovani pocitacu PC a Mac, ktere
maji v DNS polozku HINFO: "^hinfo=.*(mac|pc)").
VOLBY
--initialdns pocatecni_dns
-i pocatecni_dns
Urcuje domain name server pouzity pro pocatecni dotaz na SOA
zaznam zpracovavane domeny.
--server domain_name_server
-se domain_name_server
Urcuje master domain name server domeny, ktery bude pouzit pro
ziskani informaci o vsech pocitacich v dane domene.
--subdomains seznam_poddomen
-su seznam_poddomen
Carkami oddeleny seznam poddomen, ktere jsou pridavany ke jmenum
pocitacu. Napriklad kdyz seznam_poddomen je ",foo, foo.bar,
foo.bar.zappa, foo.bar.zappa.hut.fi", potom kdyz pocitac foobar
je pridan do souboru /etc/ssh/ssh_known_hosts bude mit uvedeny
aliasy "foobar, foobar.foo, foobar.foo.bar, foo-
bar.foo.bar.zappa, foobar.foo.bar.zappa.hut.fi". Implicitne se
pouziji vsechny casti jmen krome predposledni ode vsech
pocitacu. (Posledni cast je obvykle kod zeme, proto aliasy jako
foobar.foo.bar.zappa.hut nemaji vyznam.)
--debug ladici_uroven
-de ladici_uroven
Nastavi uroven ladeni. Implicitni hodnota je 5, vetsi hodnoty
davaji rozsahlejsi vystup. Pouziti velkych hodnot (jako 999)
zpusobi velmi rozsahly ladici vystup.
--timeout timeout_pro_ssh
-ti timeout_pro_ssh
Timeout pro prikaz ssh. Implicitni hodnota je 60 sekund.
--pingtimeout timeout_pro_ping
-pi timeout_pro_ping
Timeout pro zkouseni pingu na ssh port. Implicitni hodnota je 3
sekundy.
--passwordtimeout timeout_pri_vyzadani_hesla
-pa timeout_pri_vyzadani_hesla
Timeout pri dotazu na prihlasovaci heslo pro prikaz ssh. Impli-
citne se o zadna prihlasovaci hesla nezada. Pouziti hodnoty 0
znamena zadny timeout pro dotazy na prihlasovaci heslo.
--notrustdaemon
-notr Jestlize prikaz ssh selze, pouzije se verejny klic ulozeny v
souboru local_known_hosts a predpoklada se, ze je to spravny
klic pro dany pocitac. Jestlize toto volba neni zadana, budou
takto ziskane polozky ve vygenerovanem souboru
/etc/ssh/ssh_known_hosts pridany jako vykomentovane.
--norecursive
-nor Program make-ssh-known-hosts bude ziskavat pouze klice pro danou
domenu, ne pro jeji poddomeny.
--domainnamesplit
-do Pro ziskani seznamu poddomen se bude rozdelovat pouze jmeno
domeny, nikoli i jmeno pocitace. Implicitne je rozklad proveden
na kazde jmeno pocitace. Jestlize je domena zappa.hut.fi a jmeno
pocitace je foo.bar, potom se implicitne pridaji polozky "foo,
foo.bar, foo.bar.zappa, foo.bar.zappa.hut.fi", zatimco s touto
volbou se pridaji polozky "foo.bar, foo.bar.zappa,
foo.bar.zappa.hut.fi").
--silent
-si Nebude nic vypisovat.
--keyscan
-k Vypise seznam vsech pocitacu ve formatu
"ipaddr1,ipaddr2,...ipaddrn pocitac.domena.co,
pocitac,ipaddr1,ipaddr2,vsechny_ostatni_polozky". Tento vystup
muze byt pouzit programem ssh-keyscan pro ziskani klicu.
--nslookup cesta_k_programu_nslookup
-n cesta_k_programu_nslookup
Cesta k programu nslookup.
--ssh cesta_k_programu_ssh
-ss cesta_k_programu_ssh
Cesta k programu ssh, vcetne vsech voleb.
PRIKLADY
Prikaz
example# make-ssh-known-hosts cs.hut.fi >
/etc/ssh/ssh_known_hosts
najde vsechny verejne klice pocitacu v domene cs.hut.fi a ulozi je do
souboru /etc/ssh/ssh_known_hosts pricemz rozklada domenova jmena
jednotlivych pocitacu.
Prikaz
example% make-ssh-known-hosts hut.fi '^wks=.*ssh' > hut-hosts
najde v domene hut.fi a jejich poddomenach, ktere maji vlastni name
servery (cs.hut.fi, tf.hut.fi, tky.hut.fi), vsechny pocitace, ktere
maji v DNS uvedenu sluzbu ssh a ulozi jejich verejne klice do souboru
hut-hosts. Vyzaduje, aby vsechny pocitace, na kterych bezi sshd, mely
v DNS WKS zaznam obsahujici sluzbu ssh. Pokud jste zvlast neupravovali
DNS, bude vhodnejsi pouzit prikaz
example% make-ssh-known-hosts hut.fi '^wks=.*telnet' > hut-hosts
ktery zkontroluje pocitace ktere maji v DNS uvedeno, ze na nich bezi
telnet demon. Pouziva implicitni seznam poddomen.
Prikaz
example% make-ssh-known-hosts hut.fi 'dipoli.hut.fi'
'^hinfo=.*(mac|pc)' > dipoli-hosts
najde vsechny pocitace v domene hut.fi, ktere jsou v poddomene
dipoli.hut.fi (vsimnete si, ze domena dipoli.hut.fi nema vlastni name
server, takze jeji polozky jsou na serveru pro hut.fi), a ktere nejsou
Macintoshe nebo PC.
SOUBORY
/etc/ssh/ssh_known_hosts Globalni seznam verejnych klicu pocitacu
VIZ TEZ
ssh(1), sshd(8), ssh-keygen(1), ping(8), nslookup(8), perl(1), per-
lre(1)
AUTOR
Tero Kivinen <kivinen@hut.fi>
KOPIROVANI
Je povoleno vytvaret a distribuovat doslovne kopie tohoto manualu, za
predpokladu, ze ve vsech kopiich bude informace o autorskych pravech a
tato poznamka.
Je povoleno vytvaret a distribuovat modifikovane kopie tohoto manualu
za stejnych podminek jako doslovne kopie, za predpokladu, ze cela
vysledna odvozena prace bude distribuovana podle podminek identickych
temto pozadavkum.
Je povoleno vytvaret a distribuovat preklady tohoto manualu do jineho
jazyka za vyse zminenych podminek pro modifikovane verze, s tou vyhra-
dou, ze tato poznamka o kopirovani muze byt obsazena v prekladu
schvalenem autorem misto v anglictine.
Takze jeste totez anglicky:
COPYING
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a per-
mission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in trans-
lations approved by the the author instead of in the original English.
SSH TOOLS 8. listopadu 1995 MAKE-SSH-KNOWN-HOSTS(1)