Linux / Unix Command: sshd

ысым

sshd - OpenSSH SSH Daemon

Кыскача баяндама

sshd [- deiqtD46] [- б = лъкт =] [- е config_file] [- G login_grace_time] [- ч host_key_file] [- к key_gen_time] [- о параметр] [- б порту] [- U: newtext.append]

баяндоо

sshd (SSH Daemon) болуп саналат Daemon программасы SSH (1). Аталган программалар rlogin ордуна жана rsh жана коопсуз камсыз ИП байланыш кооптуу тармак эки ишенимсиз аскерлеринин ортосунда. программаларды орнотуу жана мүмкүн болушунча пайдалануу үчүн жеңил болушу үчүн багытталган.

sshd кардарларынан байланыштары кулак Daemon болуп саналат. Ал, адатта, ар бир кириш кошуу үчүн жаңы демонду кетерин жы / ж.б. / дисктен башталган жатат. желмогуз daemons негизги алмашуу, колдонууда, аныктыгын, буйрук аткарууну жана маалымат алмашууну туура. Sshd Бул ишке ашыруу SSH протокол чыгаруу 1 жана бир эле мезгилде 2 да колдойт.

SSH протоколу нускасы 1

Ар бир кабыл алуучу аскерин аныктоо үчүн колдонулган кабыл алуучу атайын RSA ачкычын (адатта 1024 бит) бар. Андан тышкары, Daemon баштаганда, ал Server RSA ачкычын (адатта 768 бит) жаратат. Бул ачкыч, ал колдонулуп келген болсо, адатта, ар бир саат калыбына жана дискте сакталган эмес.

кардар Daemon анын коомдук кабыл алуучу жана Server баскычтар менен жооп байланыштырат сайын. кардар ал өзгөргөн жок экенин текшерүү үчүн өз базасына каршы RSA алуучу баскычын салыштырылат. керектөөчү андан кийин 256-бит кокустук санды жаратат. Ал кабыл алуучу баскычын жана Server ачкычты колдонуп, бул кокустук санын encrypts жана жүрүш үчүн түшүүдө санын жөнөтөт. сессияда бардык мындан аркы байланышты код үчүн колдонулат сессия ачкычы катары эки тарап анда бул кокустук колдонобуз. сессиянын калган шарттуу CIPHER аркылуу ИП жатат, азыркы учурда Blowfish же 3DES, 3DES демейки боюнча колдонулат менен. Керектөөчү тандайт коддоо алгоритмин тейлөө аркылуу сунуштаган адамдардан колдонуу.

Кийинки, Server жана кардар аныктыгын текшерүү диалогун кирет. Керектөөчү .rhosts аныктыкты, .rhosts RSA алуучу аныктыгын, RSA кыйынчылык-жооп аныктыгын, же аралаш аныктыгын колдонуп өз аныктыгын текшерүү үчүн аракет пароль негизинде аныктыгын .

Rhosts аныктыгын текшерүү, эреже катары, түп-тамырынан бери кооптуу болуп саналат, анткени өчүрүлгөн, бирок керектүү учурда Server тарам делосуна иштете алат. Тутумдун коопсуздук rshd rlogind жана rexecd (толугу менен машинага салып rlogin жана rsh өчүрүү) майып болуп саналат, эгерде жакшырган эмес.

SSH протоколу Version 2

Version 2 ушундай эле иштейт: ар бир алуучу аскерин аныктоо үчүн колдонулган кабыл алуучу атайын ачкычты (RSA же DSA) бар. Бирок, Daemon баштаганда, ал Server ачкычы түзүлбөй жок. Forward коопсуздук Diffie-Hellman негизги макулдашуу аркылуу берилет. Бул негизги келишим жалпы сессия ачкычын алып келет.

сессиянын калган симметриялуу CIPHER аркылуу ИП жатат, азыркы учурда 128 бит AES, балык, 3DES, cast128, Arcfour, 192 бит AES, же 256 бит Өнүктүрүлгөн. Client Server сунуштаган адамдардан пайдалануу үчүн жазма алгоритмин тандайт. Андан тышкары, сессия кынтыксыз бир крипто кабар текшерүү кодун (hmac-SHA1 же hmac-md5) аркылуу берилет.

Протокол версия 2 коомдук негизги негизделген берет, (PubkeyAuthentication) же кардар кабыл алуучу (HostbasedAuthentication) текшерүү ыкмасы, шарттуу жашыруун сөздү текшерүү жана кыйынчылык-жооп негизинде кабыл алынат.

Command аткаруу жана берилиштер Багыттаган

керектөөчү ийгиликтүү өзү authenticates болсо, сессияны даярдоо үчүн диалог киргизилет. бул учурда кардар жасалма Телетайп, X11 байланыштарды кайра жөнөткөндүгү, TCP / IP байланыш жөнөтүү, же коопсуз каналдын үстүнөн текшерүү агент байланыш жөнөтүү бөлүштүрүү сыяктуу нерселерди талап кылышы мүмкүн.

Акыр-аягы, кардар же бир буйругу менен жер кыртышын же аткарууну талап кылды. Тараптар анда сессиясынын режими кирет. Бул режимде, эки тарап каалаган учурда маалыматтарды жөнөтө алат, ал эми мындай маалыматтар жиберилет / тартып кыртышында же Server тарапта буйругу, ошондой эле керектөөчү тарабында колдонуучу терминалы.

Колдонуучу программасы токтотот жана жөнөтүлөт X11 жана башка байланыштары жабылат жүргөндө, Server кардар жана эки тарап чыгуу буйрук чыгуу статусун жөнөтөт.

sshd буйрук сап параметрлери же тарам билэни колдонуп өзгөрүүлөр болот. Буйрук сап параметрлери тарам делосуна көрсөтүлгөн баалуулуктарды жокко.

sshd анын тарам билэни ал hangup сигнал алганда rereads, ал баштаган аты менен өзү аткаруучу тарабынан SIGHUP, башкача айтканда, / окудум / sbin / sshd

параметрлер болуп төмөнкүлөр саналат:

-b бит

көз ирмемдик протокол версия 1 Server баскычына (демейки 768) менен бит санын белгилейт.

-D

Шайкештөө режими. Server System журналы үчүн дайын мүчүлүштүктөрдү көлөмүн жөнөтөт жана арткы өзүн салып бербейт. Server да иштебей калат жана бир гана байланышы иштеп чыгабыз. Бул параметр гана жүрүш үчүн мүчүлүштүктөрдү арналган. Бир нече -D параметрлери мүчүлүштүктөрдү жогорулатуу. Maximum 3.

-E

Бул параметр белгилүү болгондо, sshd стандарттуу ката системасы журналы ордуна өндүрүмдөрүн жиберем.

-f configuration_file

тарам делосуна аталышын белгилейт. Демейки болуп саналат / ж.б. / SSH / sshd_config sshd жок тарам билэ жок болсо баштоо үчүн баш тарткан.

-G login_grace_time

өздөрүн аныктыгын текшерүү үчүн кардарлар үчүн ырайым убакыт берет (120 секунддан демейки). кардар бул көп секунда ичинде колдонуучуну аныктыгын албаса, Server ажыратуулары, кире бериш. нөлгө бир мааниси жок чегин көрсөтөт.

-h host_key_file

кабыл алуучу негизги окуп жаткан бир сааты белгилейт. Бул параметр sshd тамыры катары иштетүү эмес, (нормалдуу аскер сыяктуу негизги өздүк эч ким эмес, тамыры менен, адатта, ал окулбайт болуп), анда берилиши керек. демейки / ж.б. / SSH / ssh_host_key протокол чыгаруу үчүн 1, жана / ж.б. / SSH / ssh_host_rsa_key жана / ж.б. / SSH / ssh_host_dsa_key протокол чыгаруу үчүн 2. Бул ар кандай протокол котормолорунда жана кабыл алуучу баскычы үчүн бир нече жолу кабыл алуучу негизги документ болушу мүмкүн алгоритмдер.

-i

Ошол sshd inetd тартып жатат белгилейт. sshd кардар жооп берерден мурун ал Server ачкычы түзүлбөй керек, анткени адатта inetd качып эмес, жана бул секунда ондогон көрүшү мүмкүн. негизги сайын калыбына болсо, кардарлар да көп күтүшү керек болчу. Бирок, кичинекей негизги өлчөмү менен (мисалы, 512) inetd тартып sshd колдонуу максатка ылайыктуу болушу мүмкүн.

-k key_gen_time

көз ирмемдик протокол версия 1 Server баскычы (демейки 3600 секунд, же бир саат) менен калыбына канчалык тез-тез белгилейт. кыйла көп баскычын калыбына келүүчү түрткү негизги жерде сакталган эмес, жана бир сааттан кийин, аны кармап машина кирип майдаланган же алынган болсо да, байланыш протоколдорду паролду калыбына келтирүү үчүн мүмкүн эмес болуп турат. нөл балл негизги калыбына эч качан экенин көрсөтүп турат.

епо параметр

тарам делосуна колдонулган түрдө сынап берүү үчүн колдонулушу мүмкүн. Бул эч кандай өзүнчө буйрук сабынын желеги бар болгон мүмкүнчүлүктөрдү көрсөтүү үчүн пайдалуу.

-p порту

Server байланыштарды (абалкы 22) угуп турган порт белгилейт. Бир нече порт параметрлери уруксат берилген. буйрук-сап порт көрсөтүлгөн учурда тарам делосуна көрсөтүлгөн Ports этибарга алынбайт.

-q

Тынч режим. Эч нерсе системасы журналы жөнөтүлөт. Адатта ар бир байланыштуу башталышы, аныктыгын жана токтотуу киргенсиз.

-t

Test режими. Бир гана баскычтардын иш-тарам делосуна жана акыл-эси жайында жана негиздүүлүгүн текшерет. Бул тарам жолдор өзгөртө алат деп ишенимдүү sshd тактоо үчүн пайдалуу болот.

-u Лен

Бул параметр алыскы хост атын кармап utmp түзүмүндө талаа өлчөмүн аныктоо үчүн колдонулат. Чечилиши алуучу аты ары Такалып караганда болсо пунктир ондук балл ордуна колдонулат. Бул дагы эле уникалдуу аныкталган ушул жерин басып өтө көп алуучу жазуулар менен кошуундары берет. Көрсөтүү - u0 гана пунктир ондук даректери utmp делосуна жазасына тартылышы керек экенин көрсөтүп турат. - u0 ошондой эле кабыл алынган sshd алдын алуу үчүн колдонулушу мүмкүн болгон DNS суроо- текшерүү механизми же тарам аны талап кылбаса. DNS талап кылышы мүмкүн аныктыгын текшерүү механизмдери RhostsAuthentication RhostsRSAAuthentication HostbasedAuthentication жана негизги делосуна бир чейин = үлгүгө Тизмеге параметрин колдонгондой кирет. DNS талап Тарам параметрлери AllowUsers же DenyUsers бир USER @ HOST үлгү колдонуу кирет

-D

Бул параметр белгиленген учурда sshd алыс эмес, жана бир Daemon боло бербейт. Бул sshd менен жеңил мониторинг берет

-4

Күчтөрүнүн IPv4 гана кайрылды пайдаланууга sshd.

-6

Күчтөрүнүн IPv6 гана кайрылды пайдаланууга sshd.

Тарам билэ

sshd / ж.б. / SSH / sshd_config тарамдалган маалыматтарды окуган (же көрсөтүлгөн делосуна - буйрук сабында е). тизмелер жана тарам параметрлери sshd_config5 баяндалган.

Кирүү Process

Колдонуучу ийгиликтүү кезде sshd төмөнкүдөй кылат:

  1. логин Телетайп жөнүндө болсо, анда эч кандай буйрук аныктала элек, басып өткөн кирүү убактысын жана / ж.б. / Обзор (тарам делосуна тоскоол каралбаса же $ бет / Sx FILES бөлүмүн карагыла .hushlogin менен).
  2. логин Телетайп бар болсо, иш кагаздарын убакыт кирүү.
  3. Текшерүүлөр / ж.б. / ал бар, басып көрүү жана (тамырынан башкача каралбаса), аяшпаган болсо Nologin.
  4. Өзгөртүүлөр жөнөкөй сыймыктуу менен иштетүү үчүн.
  5. базалык шарттарды түзүү болуп саналат.
  6. $ ҮЙ / .ssh / ал бар жана колдонуучуларга, алардын айлана-чөйрөнү өзгөртүүгө уруксат берилген шарттарды окуп берет. Sshd_config5 менен PermitUserEnvironment жолду кара.
  7. колдонуучунун үйүнө каталогун өзгөртүүлөр.
  8. $ ҮЙ / .ssh / зд бар болсо, аны иштете турган; / Ж.б. / SSH / sshrc бар башка болсо, аны иштете турган; Эгерде Xauth өтөт. `` Зд '' делосу стандартты киргизүү X11 текшерүү протоколго жана Маркерлерди берген.
  9. колдонуучунун кыртышын же буйрукту иштетет.

Authorized_Keys File Format

$ ҮЙ / .ssh / authorized_keys демейки протокол нускасында RSA аныктыгын тастыктоо боюнча 1 жана коомдук негизги аныктыгын тастыктоо боюнча уруксат берилет коомдук ачкычтарды тизмеси билэ (PubkeyAuthentication) протоколдун нускасы 2. AuthorizedKeysFile башка билэни көрсөтүү үчүн колдонулушу мүмкүн эмес.

Билэ Ар бир сап, бир баскыч (а `# 'баштап бош саптар жана саптары комментарийлери эске алынбайт) камтыйт. Ар бир RSA коомдук негизги боштук менен ажыратып төмөнкү тармактарда турат: жолдордон, бит, даражанын модулу Комментарийге. Ар бир протокол версия 2 ачык ачкыч турат: жолдордон, keytype, base64 болуп коддоло баскычына Комментарийге. параметрлери талаа милдеттүү болуп саналат; Анын катышуусу сапта бир нече же жокпу менен башталат (параметрлери талаа эч качан бир катар башталат) же тарабынан аныкталат. биттер, даражанын модулу жана комментарий талаалар протокол чыгаруу үчүн RSA ачкычын берип 1; Комментарий талаасы эч колдонулган эмес (бирок колдонуучу баскычын аныктоо үчүн ыңгайлуу болушу мүмкүн). протокол айы үчүн 2 keytype `` SSH-DSS '' же `` SSH-RSA "болуп саналат"

Бул саптардын Белгилей кетсек, жүз, адатта, бир нече байт узак (себеби, ачык ачкыч коддоо өлчөмү). Сен аларды терүүнүн кереги жок; Анын ордуна, identity.pub id_dsa.pub же id_rsa.pub билэни көчүрүп, аны өзгөртүү.

sshd минималдуу RSA ачкыч модулу 768 бит протокол 1 жана протокол 2 баскычтар үчүн өлчөмүн ашырат.

параметрлери (андайы болсо) үтүр менен бөлүнгөн тандоо шарттарды турат. Бош орундар жок кош тырмакчага ичинде башка учурларда, жол берилбейт. төмөнкү параметр өзгөчөлүктөрү колдоого алынат (параметр ачкыч иш-сезбей бар экендигин белгилей кетүү):

из = үлгүгө тизме

коомдук негизги аныктыгын тышкары, алыскы аскер канондук аталышы үлгүлөрүнүн үтүр менен ажыратып ( `*" жана `?" Атайын кызмат) болушу керек деп белгилейт. Бул тизме ошондой эле `менен атланы менен мизи үлгүлөрүн камтышы мүмкүн!" ; канондук алуучу аты тана үлгүгө дал келсе, негизги кабыл алынган эмес. Бул тандоонун максаты көбөйтүү коопсуздугун ыктыярдуу болуп саналат: өзү тарабынан коомдук негизги текшерүү тармак же аты-кулдарга, же эч нерсе ишеним жок, (бирок баскычын); Бирок кимдир бирөө кандайдыр бир баскычын басып алса, негизги дүйнөнүн каалаган жерден кирүү үчүн бир душманын да уруксат берет. Бул кошумча параметр (жөн гана негизги тышкары доо кетиши керек эле аты кулдарга жана / же маршрутизаторлор) уурдалган негизги кыйла татаал колдонуп жатат.

команда = буйрук

Бул ачкыч аныктыкты текшерүү үчүн колдонулат сайын буйрук аткарылат деп белгилейт. Колдонуучу (эгер бар болсо) тарабынан берилген буйрук эске алынбайт. кардар Pty сураса буйругу Pty боюнча жүргүзүлөт; Эгерде ал Телетайп чуркап турат. 8-бит таза канал керек болсо, бир Pty же жок-Pty көрсөтүш керек эмес, керек үзүндү кыйшык менен үзүндү буйругу менен киргизилиши мүмкүн. Бул параметр эле белгилүү бир иш-аракетти аткарууга айрым коомдук ачкычтарды чектөө үчүн пайдалуу болушу мүмкүн. Мисалы, алыскы бэкапты, бирок башка эч нерсе бере турган кандайдыр-бир маанилүү болушу мүмкүн. ачык тыюу салынат, эгерде кардар TCP / IP жана / же X11 даректи көрсөтүлүшү мүмкүн. Бул параметр буйрукту же чакан аткарууну, бомбалашын тиешелүү кетсек.

чөйрө = NAME = балл

сап бул ачкычын колдонуу менен кирип жаткан чөйрөгө кошулуп керек экенин белгилейт. Бул жол менен белгиленген чөйрө өзгөрмө башка демейки чөйрө баалуулуктарды жокко. Бул типтеги бир нече параметрлери уруксат берилген. Курчап турган чөйрөнү иштетүү демейки боюнча өчүрүлгөн жана PermitUserEnvironment тандоосу аркылуу көзөмөлдөнөт. UseLogin иштетилген болсо, бул параметрди түрдө өчүрүлөт.

жок-порт-жиберүү

Бул ачкыч аныктыкты текшерүү үчүн пайдаланылган учурда TCP / IP даректөө тыюу салган. Кардардын ар бир порт алдыга суранычтары ката кайтып келет. Бул буйрук тандоосу менен байланыштуу, мисалы, колдонулушу мүмкүн.

жок-X11-жиберүү

Бул ачкыч аныктыкты текшерүү үчүн пайдаланылган учурда X11 багыттоону тыюу салган. кардар тарабынан ар кандай X11 алдыга суранычтары ката кайтып келет.

жок-агент-жиберүү

Бул ачкыч аныктыкты текшерүү үчүн пайдаланылган учурда текшерүү агент багыттоону тыюу салган.

жок-Pty

Телетайп бөлүп берүү (а Pty бөлүп берүү өтүнүчү менен сөзсүз болот) сактайт.

permitopen = хост: порту

Жергиликтүү `` SSH -l '' порт багыттоо гана көрсөтүлгөн аскер жана портуна туташуу Ушундай чектөө. IPv6 даректери башка Синтаксис менен көрсөтүлүшү мүмкүн: алуучу / порт көп permitopen параметрлери үтүр менен бөлүнүп колдонулушу мүмкүн. Эч кандай үлгүгө салыштыруу белгилүү HOSTNAMES боюнча жүзөгө ашырылат, алар кадимки домендерди же даректери болушу керек.

мисалы,

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

из = "*. niksula.hut.fi! pc.niksula.hut.fi" 1024 35 23 ... 2334 ylo @ niksula

команда = "төгүндүлөрдүн / үй", жок-Pty, жок-порт-бери жөнөтүп, 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 File Format

/ Ж.б. / SSH / ssh_known_hosts жана $ ҮЙ / .ssh / known_hosts делосу белгилүү болгон бүт асман аскерлеринин Кудайы үчүн коомдук ачкычтарды өтөт камтыйт. Билэни администратор (милдеттүү эмес) тарабынан даярдалган болушу керек, жана ар бир колдонуучуга билэ жазуусу сакталып турат: колдонуучу анын негизги күнүнө пайдалануучу делосуна кошулат белгисиз аскер чейин бириктирип турат экен.

Алардын ар бир сап төмөнкү чөйрөлөрдү камтыйт: хост, чекесинен, даражанын модулу, пикир. талаалар бош орун менен бөлүнгөн.

HOSTNAMES үлгүлөрүнүн үтүр менен бөлүнгөн тизмеги ( '?' '*' Жана Атайын катары иш) болуп саналат; Ар бир үлгү болсо, өз кезегинде, канондук алуучу аты менен дал келет (кардар аныктыгын кийин) же колдонуучунун аты берилген каршы (а Server аныктыгын кийин). `А үлгү да коштолушу мүмкүн!" каккандардын көрсөтүп: алуучу аты тана үлгүгө дал келсе, ал саптагы дагы бир үлгүгө дал келсе да, (ошол сызык менен белгиленген) кабыл алынбайт.

Bits, даражанын жана модулу RSA алуучу баскычына түздөн-түз кабыл алынат; Алар алган, мисалы, /etc/ssh/ssh_host_key.pub комментарий талаадан сызыгынын аягында улантат жана колдонулган эмес болот.

`#" Жана бош линияларын белги менен башталган саптар комментарийлери этибарга алынбайт.

кабыл алуучу аныктыкты жатканда, текшерүү дал келген сызык туура ачкычы бар болсо кабыл алынат. Ошентип, жаиз (бирок сунушталбайт) ушундай эле ысымдагы бир нече багыттар же башка кабыл алуучу баскычтарын бар. ар кандай чөйрөлөрдө, тартып алуучу аталыштары кыска түрлөрү делосуна салып жатканда Бул сөзсүз болот. Бул өздүк бирине карама-каршы келген маалыматтарды камтышы мүмкүн; тастыктоо жарактуу маалымат же делосуна тапса болот, анда кабыл алынган.

Алардын ичинде линиялары адатта каармандардын жүздөгөн көп экенин, ал эми сен колу менен кабыл алуучу ачкычтарын терүүнүн кереги жок. Тескерисинче, бир ариби менен же /etc/ssh/ssh_host_key.pub алуу жана алдына алуучу аттарды кошуу менен, аларды пайда кылган.

мисалы,

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

кара Ошондой эле

SCP (1), SFTP (1), SSH (1), SSH-add1, SSH-agent1, SSH-keygen1, login.conf5, кысылуу модулу (5), sshd_config5, SFTP-server8

Прогресс материалдарды Т. Каладым Т. Kivinen M. Saarinen Т. Ринне S. Lehtinen "SSH протоколу Архитектура" долбоорун-ietf-secsh-архитектура-12.txt Май 2002 жумуш

Прогресс материалдарды M. Friedl N. Provos WA Симпсон "SSH Транспорт катмар Протоколду Diffie-Hellman Group алмашуу" долбоорун-ietf-secsh-оданда-топ-тобу менен алмашуу-02.txt Май 2002 жумуш

Маанилүү иш: буйруктар, атап айтканда ЭЭМ колдонулуп келе жатканын көрүп, бир киши (% адам) колдонуу.