Linux / Unix komandoa: sshd

izena

sshd - OpenSSH SSH deabrua

Laburpena

sshd [- deiqtD46 ] [- b bitak ] [- f config_file ] [- g login_grace_time ] [- h host_key_file ] [- k key_gen_time ] [- o aukera ] [- portu p ] [- u len ]

deskribapena

sshd (SSH Daemon) ssh (1) daemon programa da. Elkarrekin programa horiek erremintak ordezkatzen dituzte eta rsh , eta ziurtagiri enkriptatutako ziurtagiri segurua ez den sarearen gaineko bi ostalari ez fidagarrien artean. Programak ahalik eta instalazio eta erabilera errazena izan nahi dute.

sshd bezeroen konexioak entzuten dituen deabru da. Normalean abiaraztean / etc / rc abiatu da sarrerako konexio bakoitzeko deabru berria. Debekatutako debekuak gakoen trukaketa, enkriptazioa, autentifikazioa, komandoen exekuzioa eta datuen trukaketa kudeatzen ditu. Sshd-en ezarpen honek SSH protokoloaren 1 eta 2 bertsioak aldi berean onartzen ditu.

SSH protokoloaren 1. bertsioa

Ostalari bakoitzak ostalaria identifikatzeko erabilitako ostalarientzako RSA gakoa (normalean 1024 bit) ditu. Gainera, deabrua hasten denean, zerbitzari bat RSA gakoa sortzen du (normalean 768 bit). Gako hau normalean birsortzen da orduro erabiltzen bada eta inoiz ez da diskoan gordetzen.

Bezeroak deabruarekin konektatzen den bakoitzean, ostalari eta zerbitzari gako publikoekin erantzuten du. Bezeroak bere datu basean aurkako RSA ostalariaren gakoa konparatzen du, ez duela aldatu. Bezeroak 256 biteko ausazko zenbaki bat sortzen du. Ausazko zenbaki hau enkriptatzen du ostalariaren tekla eta zerbitzariaren tekla erabiliz eta enkriptatutako zenbakia bidaltzen dio zerbitzariari. Bi aldeek ondoren ausazko zenbaki hau erabiltzen dute sesioan komunikazio gehiago enkriptatzeko erabiltzen den saio-tekla gisa. Saioaren gainerako zifra arruntak erabiliz, gaur egun Blowfish edo 3DES zifratuta, lehenespenez erabiltzen dira 3DESekin. Bezeroak enkriptatze algoritmoa hautatzen du zerbitzariak eskaintzen dituenekin erabiltzeko.

Ondoren, zerbitzaria eta bezeroak autentifikazio elkarrizketa bat sartu. Bezeroak autentifikatzen saiatzen da .rhosts autentifikazioa erabiliz, .rhosts autentifikazioa RSA ostalariaren autentifikazioarekin konbinatuta, RSA erronka-erantzunen autentifikazioa edo pasahitza oinarritutako autentifikazioa .

Rhosts autentifikazioa normalean desgaituta dago, funtsean segurua ez delako, baina zerbitzarian konfigurazio fitxategian gaitu daiteke nahi izanez gero. Sistemaren segurtasuna ez da hobetzen rshd rlogind eta rexecd ez badira desgaituta (horrela rlogin eta rsh makina erabat desgaitzen dira).

SSH protokoloa 2. bertsioa

2. bertsioa antzekoa da: ostalari bakoitzak ostalaria identifikatzeko erabiltzen den ostalari-gako espezifikoa (RSA edo DSA) dauka. Hala ere, deabrua hasten denean, ez du zerbitzariaren gakoa sortuko. Aurrera segurtasuna Diffie-Hellmanen gako-hitzarmen baten bidez ematen da. Gako-hitzarmen hau partekatutako saio-gako baten emaitza da.

Saioaren gainerako zifratze simetrikoa erabiliz, AES, Blowfish, 3DES, CAST128, Arcfour, AES 192 bit, AES edo 256 bit AES bitarteko 128 bitekin erabiltzen da. Bezeroak enkriptatze algoritmoa hautatzen du zerbitzariak eskaintzen dituenekin erabiltzeko. Horrez gain, saio osotasuna mezu kriptografiko baten autentifikazio-kode baten bidez ematen da (hmac-sha1 edo hmac-md5).

Protokoloaren 2. bertsioa gako publikoan oinarritutako erabiltzailea (PubkeyAuthentication) edo bezero ostalaria (HostbasedAuthentication) autentifikazio metodoa, ohiko pasahitz autentifikazioa eta erronka-erantzuna oinarritutako metodoak eskaintzen ditu.

Komandoa exekutatzea eta datuen birbidaltzea

Bezeroak autentifikatzen badu, saioa prestatzeko elkarrizketa bat sartuko da. Une honetan, bezeroak eskaera bat eskatu ahal izango du pseudo-tty bat esleitzeko, birbidaltzeko X11 konexioak, TCP / IP konexioak birbidaltzea edo autentifikazio agentearen konexioa bidaltzea kanal seguruan.

Azkenean, bezeroak agindu bat shell edo exekuzioa eskatzen du. Alboetan sartu saio modua. Modu honetan, alde bakoitzean datuak bidaltzen dituzte edozein unetan, eta datu horiek birbidaliko dira / shell edo komandoa zerbitzariaren aldean, eta bezeroaren terminalean bezeroaren aldean.

Erabiltzaile-programa amaitzen denean eta X11 birbidalitako guztiak eta beste konexioak itxita, zerbitzariak komandoaren irteera-egoera bidaltzen dio bezeroari eta bi aldeetatik irteera.

Komando lerroko aukeren edo konfigurazio fitxategiaren bidez konfiguratu daiteke sshd . Komando lerroko aukerak gainidazten ditu konfigurazio fitxategian zehaztutako balioak.

sshd-k bere konfigurazio fitxategia berreskuratzen du hangup seinalea jasotzen duenean, SIGHUP exekutatzean sortutako izenarekin, hau da, / usr / sbin / sshd

Aukerak honako hauek dira:

-b bit

Zenbaki kopurua zehazten du zerbitzariaren tekla aldibereko protokoloaren bertsioan (lehenetsia 768).

-d

Arazteko modua. Zerbitzariak bidaltze automatikoa bidaltzen dio sistemaren egunkariari eta ez du atzeko planoan jartzen. Zerbitzariak ere ez du funtzionatuko eta konexio bakarra prozesatuko du. Aukera hau zerbitzarira arazteko bakarrik dago zuzenduta. Datu anizkoitzek arazketa maila areagotzen dute. Gehienez 3 da.

-e

Aukera hau zehaztuta dagoenean, sshd irteera sistemaren egunkariaren ordez error estandarra bidaliko du.

-f config_file

Konfigurazio fitxategiaren izena zehazten du. Lehenetsia / etc / ssh / sshd_config sshd-k ez du konfigurazio fitxategirik ez badago abiarazteko.

-g login_grace_time

Bezeroei autentifikatzeko (120 segundo lehenetsia) esker oneko denbora ematen du. Bezeroak segundotan segundotan erabiltzaileak autentifikatu ezean, zerbitzariak deskonektatzen eta irten egiten du. Zero balioa ez da mugarik.

-h host_key_file

Ostalariaren gako bat irakurtzen duen fitxategi bat zehazten du. Aukera hau eman behar da sshd ez bada erro gisa exekutatzen (ostalari-gakoen fitxategi arruntak normalean ez baitira inor irakurtzen, baizik root gisa). Lehenespenez, / etc / ssh / ssh_host_key protokoloaren 1 bertsioa da, eta / etc / ssh / ssh_host_rsa_key eta / etc / ssh / ssh_host_dsa_key protokoloaren 2. bertsioan. Ostalari gako-fitxategiak hainbat protokolo bertsio eta ostalari gako algoritmoak.

-i

Sshd inetd exekutatzen ari dela zehazten du. sshd normalean ez dago inetd-ekin exekutatzen, bezeroaren aurrean erantzun ahal izateko zerbitzariaren gakoa sortu behar delako, eta horrek hamarka segundo beharko ditu. Bezeroek luzaroan itxaron beharko lukete gakoa behin eta berriz birsortzen bada. Hala eta guztiz ere, gako-tamaina txikiekin (adibidez, 512) sshd- rekin inetd erabiliz bideragarria izan daiteke.

-k key_gen_time

Zenbatero zehazten du protokolo iragankorra 1 zerbitzariaren gakoa birsortzeko (lehenetsitako 3600 segundotan, edo ordu bat). Tekla birsortzeko motibazioa nahiko maiz gertatzen da gakoa ez dela edonon gordeta, eta ordubete inguru igaro ondoren, ezinezkoa da giltzarria berreskuratzea intercepted komunikazioak deszifratzea nahiz makina piztu edo fisikoki konfiskatu den. Zero balio batek adierazten du gakoa ez dela inoiz birsortuko.

-o aukera

Konfigurazio fitxategian erabilitako formatuan aukerak emateko erabil daiteke. Honek baliagarria da komando-lerroaren ez bereizten ez diren aukerak zehazteko.

-p portua

Zerbitzariak konexioak entzuten dituen ataka zehazten du (22 lehenetsia). Ataka aukera anitzak onartzen dira. Konfigurazio fitxategian zehaztutako atakak ez dira kontuan hartzen komando lerroko ataka zehazten denean.

-q

Modu lasaia. Ez dago ezer sistemako egunkarira bidaltzen. Normalean, konexio bakoitzaren hasiera, autentifikazioa eta amaiera automatikoki erregistratzen dira.

-t

Test modua. Konfigurazio fitxategiaren baliozkotasuna egiaztatzeko eta gakoen sendotasuna egiaztatu. Hau erabilgarria da sshd eguneratzeko modu fidagarrian konfigurazio aukerak nola aldatu daitezkeen.

-u len

Aukera hau urruneko ostalari izena duen utmp egiturako eremuaren tamaina zehazteko erabiltzen da. Ostalariaren izena ebatzi baino luzeagoa bada, puntuz zehaztutako balioaren ordez erabiliko da. Honek aukera ematen die ostalariak izen handiko ostalari izen luzeekin, hau da, eremu hau gainezka egoteko. Zehaztuz - u0 adierazten du puntuz zehaztutako helbide bakarra utmp fitxategian sartu behar dela. - u0 ere erabiltzen da sshd saihesteko DNS eskaerak egitean autentifikazio mekanismoak edo konfigurazioak behar ez baditu. DNS behar duten autentifikazio mekanismoak RhostsAuthentication RhostsRSAAuthentication HostbasedAuthentication eta Key = fitxategi batetik eredu-zerrenda bat erabiliz daude. DNS behar duten konfigurazio aukerak honako hauek dira: USER @ HOST eredua erabiliz AllowUsers edo DenyUsers-en

-D

Aukera hau zehazten denean, sshd ez da bereizten eta ez da deabru bihurtuko. Honek sshd- ren jarraipen erraza eskaintzen du

-4

Indarrak sshd bakarrik erabili IPv4 helbideak.

-6

Indarrak sshd soilik erabili IPv6 helbideak.

Konfigurazio fitxategia

sshd- k konfigurazio datuak irakurtzen ditu / etc / ssh / sshd_config (edo f- rekin zehaztutako fitxategia komando lerroan). Fitxategiaren formatua eta konfigurazio aukerak sshd_config5ean deskribatzen dira.

Saioa Prozesua

Erabiltzaile batek saioa hastean, sshd hau eginda dago:

  1. Saio hasierako tty batean badago, eta ez da komandorik zehaztu, iraupenaren azken ordua eta / etc / motd (konfigurazio fitxategian edo $ HOME / .hushlogin sailean ikusi ez bada Sx fitxategiak atalean).
  2. Saio hasierako tty batean badago, saioa hasteko ordua erregistratzen da.
  3. Egiaztatu / etc / nologin egiaztapena badago, edukiak inprimatzen eta irten egiten du (root ez bada).
  4. Erabiltzaile pribiletako pribilegioekin exekutatzeko aldaketak.
  5. Oinarrizko ingurunea konfiguratzen du.
  6. Irakurtzen $ HOME / .ssh / ingurunea badago eta erabiltzaileek ingurumena aldatu ahal izango dute. Ikusi PermitUserEnvironment aukera sshd_config5-n.
  7. Erabiltzailearen etxeko direktorioaren aldaketak.
  8. $ HOME / .ssh / rc bada badago, exekutatzen du; bestela / etc / ssh / sshrc badago, exekutatzen du; bestela xauth exekutatzen da. `` Rc '' fitxategiak X11 autentifikazio protokoloa eta cookieak sarrera estandarrean daude.
  9. Erabiltzailearen shell edo komandoa exekutatzen du.

Baimendutako_Keys File Format

$ HOME / .ssh / authorized_keys RSA autentifikazioa onartzen duten gako publikoak protokoloaren 1 bertsioan eta gako publikoen autentifikazioan (PubkeyAuthentication) protokoloan 2. bertsioan baimendutako gako publikoak zerrendatzen ditu. Autorizatutako fitxategi automatizatuak beste fitxategi bat zehazteko erabil daitezke.

Fitxategiaren lerro bakoitzak tekla bat du (lerro hutsak eta lerroak "#" batekin hasten dira) iruzkinak alde batera utzita. RSA gako publiko bakoitzak hurrengo eremuak ditu, espazioen arabera bereizita: aukerak, bitak, adierazlea, modulua, komentarioa. Protokolo bertsioko 2 gako publiko bakoitzak: aukerak, gako motak, oinarri64 kodetutako gakoa, komentarioa. Aukeren eremua hautazkoa da; lerroa zenbaki batekin hasten den ala ez zehazten du (aukerak eremuan inoiz ez da zenbaki batekin hasten). Bits, adierazle, modulu eta iruzkin eremuek RSA gakoa ematen dute protokoloaren 1 bertsioarentzat; Iruzkina eremua ez da ezer erabiltzen (baina komenigarria izan daiteke erabiltzaileak gakoa identifikatzeko). Protokoloaren 2. bertsioa gako-mota `` ssh-dss '' edo `` ssh-rsa '' da.

Kontuan izan fitxategiko lerroak ehunka byte luzeak izan ohi direla (gako publikoen kodeketaren tamaina dela eta). Ez duzu idatzi nahi; Horren ordez, kopiatu identitatea.pub id_dsa.pub edo id_rsa.pub fitxategia eta editatu.

sshd gutxienez RSA gako moduluaren tamaina betetzen du protokoloaren 1erako eta protokoloetarako 2 gako 768 bitetara.

Aukerak (oraingoz) komaz bereizitako aukeren zehaztapenak dira. Ez dago espazioik onartzen, komatxo bikoitzetan izan ezik. Aukerazko zehaztapen hauek onartzen dira (kontuan izan aukerako hitz gakoak letra maiuskulak eta minuskulak bereizten direla):

from = ereduarekin-zerrenda

Zehaztutako gako publikoen autentifikazioa gain, urruneko ostalariaren izen kanonikoa koma bereizitako eredu zerrendan egon behar da (`* 'eta`?' Komodinak). Zerrenda honek `! 'Aurrizkiarekin ere ukatu dituen ereduak izan ditzake. ; ostalariaren izen kanonikoak ezezko eredua betetzen badu, tekla ez da onartuko. Aukera honen helburua segurtasuna handitzea da: gako publikoen autentifikazioak ez du sarearen edo izen zerbitzarien edo ezer fidatzen (baina gakoa); Hala eta guztiz ere, norbaitek nolabait lapurtzen badio, teklak munduan edozein lekutatik saioa hastea baimentzen du. Aukera gehigarri honek lapurtutako gakoa erabiltzea zailagoa da (izena zerbitzariek edo / eta bideratzaileek gakoa arriskuan jarri beharko lukete).

komando = komandoa

Komandoak exekutatzen ditu zehaztutako gako hau egiaztatzeko erabiltzen den bakoitzean. Erabiltzaileak emandako komandoa (baldin badago) baztertzen da. Komandoa pty batean exekutatzen da bezeroak pty bat eskatzen badu; bestela tty gabe exekutatzen da. 8 biteko kanal garbi bat behar bada, ez da pty bat eskatu behar edo ez dago pty bat zehaztu behar. Aurrekontua komandoan sartu ahal izango da, barrako atal batekin aipatuz. Aukera hau baliagarria izan daiteke gako publiko batzuk mugitzea eragiketa zehatz bat egiteko. Adibide bat urruneko babeskopiak baimentzeko gakoa izan daiteke baina ez beste ezer. Kontuan izan bezeroak TCP / IP edo / eta X11 birbidaltzea zehaztu dezakeela esplizituki debekatuta egon ezean. Kontuan izan aukera hau shell, komandoa edo azpisistema exekuzioari aplikatzen zaion.

ingurumena = NAME = balioa

Zehaztu katea ingelesez gehitu behar dela gako hau erabiliz saioa hastean. Ingurune aldagaiak modu honetan ezarritako beste ingurune baten balio lehenetsiak gainidazten ditu. Mota honetako aukera anitzak onartzen dira. Ingurumenaren tratamendua lehenespenez desgaituta dago eta PermitUserEnvironment aukera kontrolatzen du. Aukera hau automatikoki desgaitzen da UseLogin gaituta badago.

no-portu-birbidaltzea

TCP / IP birbidaltzea gako hau autentifikaziorako erabiltzen denean. Bezeroaren ataka aurrera eskaerak errore bat itzultzen du. Hau erabil daiteke, adibidez, komandoaren aukerarekin.

no-X11-birbidaltzea

X11 birbidaltzea gako hau autentifikaziorako erabiltzen denean. Bezeroaren X11 aurrera eskaerak akats bat itzuliko du.

no-agent-birbidaltzea

Autentifikazio agenteen birbidaltzea debekatzen du gako hau autentifikaziorako erabiltzen denean.

no-pty

Ezartzen du tty esleipena (pty bat esleitzeko eskaera huts egingo du).

permitopen = ostalari: ataka

Mugatu `` ssh-L '' tokiko atakaren birbidaltzea, esate baterako, zehaztutako ostalaria eta ataka soilik konektatzeko. IPv6 helbideak sintaxi alternatibo batekin zehaztu daitezke: ostalaria / ataka Aukeratutako hainbat aukera onartzen dira komaz bereizita. Ez dago ereduarekin bat datorren zehaztutako ostalari izenekin bat egiten, literalki domeinu edo helbideak izan behar dira.

Adibideak

1024 33 12121 ... 312314325 ylo@foo.bar

from = "*. 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

permitopen = "10.2.1.55:80", permitopen = "10.2.1.56:25" 1024 33 23 ... 2323

Ssh_Known_Hosts Fitxategi formatua

The / etc / ssh / ssh_known_hosts eta $ HOME / .ssh / known_hosts fitxategiek ostalari gako publikoak dituzte ostalari ezagun guztientzat. Fitxategi globala administratzaileak (aukerakoa) prestatu beharko luke, eta erabiltzaile bakoitzeko fitxategia automatikoki mantentzen da: erabiltzaileak ostalari ezezagun batetik konektatzen duenean gako bakoitza erabiltzaile bakoitzeko fitxategian gehituko da.

Fitxategi horien lerro bakoitzak honako eremu hauek ditu: ostalariak, bitak, adierazleak, moduluak, iruzkinak. Eremuak espazioekin bereizten dira.

Hostnames koma bereizitako eredu zerrenda ('*' eta '?' Komodinak dira); Eredu bakoitza, aldi berean, ostalariaren izen kanonikoa (bezeroa autentifikatzen denean) edo erabiltzaileak emandako izenaren aurka (zerbitzari bat autentifikatzen duenean) dator. Eredu bat ere izan daiteke `! ' negazioa adierazteko: ostalariaren izena eredu negatiboarekin bat datorrenean, ez da onartuko (lerro horren arabera) lerroko beste eredua bat datorren arren.

Bits, adierazle eta moduluak RSA ostalariaren gakoan zuzenean hartu dira; lortu ahal izango dira, adibidez, /etc/ssh/ssh_host_key.pub Hautazko iruzkinen eremuak lerroaren amaieraraino jarraitzen du eta ez da erabiltzen.

'#' Eta lerro hutsekin hasitako lerroak ez dira iruzkinik egingo.

Ostalariaren autentifikazioa egitean, autentifikazioa onartuko da bat datozen lerroek gako egokia badute. Hori dela eta, baimendutako (baina ez da gomendagarria) izen bereko hainbat lerro edo ostalari giltza izan behar dituzu. Hau ezinbestean gertatuko da fitxategi desberdinetan ostatatutako ostalari izenen forma laburrak. Baliteke fitxategiak informazio gatazkatsuak edukitzea; Autentifikazioa onartuko da fitxategi baliodunaren baliozko informazioa.

Kontuan izan fitxategien lerroak ehunka karaktere luzeak direla eta behin betiko ez duzula ostalariaren gakoak eskuz idaztea nahi. Horren ordez, sortu script-ak edo /etc/ssh/ssh_host_key.pub hartuz eta frontend-izenak frontean gehituz.

Adibideak

closenet, ..., 130.233.208.41 1024 37 159 ... 93 closenet.hut.fi cvs.openbsd.org, 199.185.137.3 ssh-rsa AAAA1234 ..... =

Ikusi ere

scp (1), sftp (1), ssh (1), ssh-add1, ssh-agent1, ssh-keygen1, login.conf5, moduluak (5), sshd_config5, sftp-server8

T. Ylonen T. Kivinen M. Saarinen T. Rinne S. Lehtinen "SSH protokoloaren arkitektura" zirriborro-ietf-secsh-architecture-12.txt 2002ko urtarrilean lanean hasi zen materialean

M. Friedl N. Provos WA Simpson "Diffie-Hellman Group Exchange for the SSH Transport Layer Protocol" proiektua-ietf-secsh-dh-group-exchange-02.txt 2002ko urtarrilean lanean ari da materialean

Garrantzitsua: erabili man komandoa ( % man ) komando bat nola erabiltzen den zure ordenagailuan.