Linux / UNIX Kòmandman: sshd

Non

sshd - OpenSSH SSH daemon

Rezime

sshd [- deiqtD46 ] [- b Bits ] [- f config_file ] [- g login_grace_time ] [- h host_key_file ] [- k key_gen_time ] [- o opsyon ] [- p ] [- u len ]

Deskripsyon

sshd (SSH Daemon) se pwogram daemon pou ssh (1). Ansanm pwogram sa yo ranplase rlogin ak rsh , epi yo bay an sekirite kominikasyon chiffres ant de gen tout pouvwa a ki pa gen konfyans sou yon rezo ensekirite. Pwogram yo fèt pou fasil pou enstale ak itilize posib.

sshd se dyaman ki koute pou koneksyon ki soti nan kliyan yo. Li se nòmalman te kòmanse nan bòt nan / etc / rc Li forks yon nouvo demon pou chak koneksyon fèk ap rantre. Dyemons yo forked okipe kle echanj, chifreman, otantifikasyon, ekzekisyon lòd, ak echanj done. Aplikasyon sa a sshd sipòte tou de SSH pwotokòl vèsyon 1 ak 2 an menm tan.

SSH Pwotokòl Version 1

Chak lame gen yon lame-espesifik kle RSA (nòmalman 1024 Bits) itilize yo idantifye lame a. Anplis de sa, lè dyaman an kòmanse, li jenere yon sèvè RSA kle (nòmalman 768 Bits). Kle sa a nòmalman rejenere chak èdtan si li te itilize, epi li pa janm ki estoke sou ki gen kapasite.

Chak fwa yon kliyan konekte dyaman an reponn ak lame piblik li yo ak kle sèvè. Kliyan an konpare kle a lame RSA kont pwòp baz done li yo verifye ke li pa te chanje. Kliyan an Lè sa a, jenere yon nimewo o aza 256-ti jan. Li chifri nimewo sa a o aza lè l sèvi avèk tou de kle a lame ak kle nan sèvè epi voye chif la chiffres nan sèvè a. Tou de kote yo itilize nimewo sa a o aza kòm yon kle sesyon ki itilize pou chifte tout kominikasyon plis nan sesyon an. Rès la nan sesyon an se chiffres lè l sèvi avèk yon Cipher konvansyonèl, kounye a Blowfish oswa 3DES, ak 3DES yo te itilize pa default. Kliyan an chwazi algorithm nan chifreman yo sèvi ak nan sa yo ofri nan sèvè a.

Apre sa, sèvè a ak kliyan an antre nan yon dyalòg otantifikasyon. Kliyan an ap eseye otantifye tèt li lè l sèvi avèk .rhosts otantifikasyon, .rhosts otantifikasyon konbine avèk otantifikasyon RSA otès, RSA defi-repons otantifikasyon, oswa otantifikasyon modpas ki baze sou .

Rhosts otantifikasyon se nòmalman andikape paske li se fondamantal anksyeu, men yo ka pèmèt nan dosye a konfigirasyon sèvè si vle. Sistèm sekirite pa amelyore sòf si rshind rlogind ak rexecd yo andikape (konsa konplètman enfimite rlogin ak rsh nan machin nan).

Pwotokòl SSH Version 2

Version 2 ap travay Menm jan an tou: Chak lame gen yon kle lame-espesifik (RSA oswa DSA) itilize yo idantifye lame a. Sepandan, lè dyaman an kòmanse, li pa jenere yon kle sèvè. Se devan sekirite bay nan yon akò kle Diffie-Hellman. Akò sa a kle nan yon kle sesyon pataje.

Rès la nan sesyon an se chiffres lè l sèvi avèk yon chifreman simetrik, kounye a 128 ti jan AES, Blowfish, 3DES, CAST128, Arcfour, 192 ti jan AES, oswa 256 bit AES. Kliyan an chwazi algorithm nan chifreman yo sèvi ak nan sa yo ofri nan sèvè a. Anplis de sa, se entegrite sesyon yo bay nan yon postal kriptografik mesaj otantifikasyon (hmac-sha1 oswa hmac-md5).

Pwotokòl vèsyon 2 bay yon itilizatè kle ki baze sou baz (PubkeyAuthentication) oswa lame kliyan (HostbasedAuthentication) metòd otantifikasyon, otantifikasyon modpas konvansyonèl, ak metòd defi ki baze sou repons.

Kòmandman Egzekisyon ak Done Transfert

Si kliyan an avèk siksè natif natal tèt li, se yon dyalòg pou prepare sesyon an antre. Nan moman sa a kliyan an ka mande bagay tankou alokasyon yon pseudo-tty, voye X11 koneksyon, voye tchp / IP koneksyon, oswa voye koneksyon otantifikasyon a ajan sou kanal la sekirite.

Finalman, kliyan an swa mande yon koki oswa ekzekisyon nan yon lòd. Kote sa yo antre nan mòd sesyon. Nan mòd sa a, chak bò ka voye done nan nenpòt ki lè, ak done sa yo se voye / soti nan koki a oswa lòd sou bò sèvè a, ak tèminal la itilizatè sou bò kliyan.

Lè pwogram nan itilizatè yo sispann ak tout voye X11 ak lòt koneksyon yo te fèmen, sèvè a voye estati sòti kòmandman nan kliyan an ak toude bò sòti.

sshd ka configuré lè l sèvi avèk opsyon liy-liy oswa yon dosye konfigirasyon. Opsyon lòd-liy pase sou valè valè ki espesifye nan dosye a konfigirasyon.

sshd redire dosye konfigirasyon li yo lè li resevwa yon siyal hangup, SIGHUP pa egzekite tèt li ak non an li te kòmanse kòm, ie, / usr / sbin / sshd

Opsyon yo se jan sa a:

-b Bits

Espesifye kantite Bits nan vèsyon pwotokòl efemèr a 1 kle sèvè (default 768).

-d

Debaz mòd. Sèvè a voye pwodiksyon debaz vèbal nan boutèy la sistèm epi yo pa mete tèt li nan background nan. Sèvè a tou pa pral travay epi yo pral sèlman pwosesis yon sèl koneksyon. Opsyon sa a sèlman gen entansyon pou debogaj pou sèvè a. Miltip -d opsyon ogmante nivo debogaj la. Maksimòm se 3.

-e

Lè yo opsyon sa a espesifye, sshd ap voye pwodiksyon an nan erè a estanda olye pou yo boutèy la sistèm.

-f configuration_file

Espesifye non an nan dosye a konfigirasyon. Default la se / etc / ssh / sshd_config sshd refize kòmanse si pa gen okenn dosye konfigirasyon.

-g login_grace_time

Bay tan an favè pou kliyan yo legalized tèt yo (default 120 segonn). Si kliyan an echwe legalman itilizatè a nan segonn sa a anpil, sèvè a dekonekte, ak sòti. Yon valè de zewo endike pa gen limit.

-h host_key_file

Espesifye yon dosye ki soti nan ki se yon kle lame li. Yo dwe bay opsyon sa a si sshd pa kouri kòm rasin (kòm dosye yo nòmal lame kle yo nòmalman pa lizib pa nenpòt moun, men rasin). Defo a se / etc / ssh / ssh_host_key pou pwotokòl vèsyon 1, ak / etc / ssh / ssh_host_rsa_key ak / etc / ssh / ssh_host_dsa_key pou pwotokòl vèsyon 2. Li posib pou gen plizyè dosye kle lame pou vèsyon yo pwotokòl diferan ak kle lame algoritm.

-i

Espesifye ke sshd yo te kouri soti nan inetd. sshd se nòmalman pa kouri soti nan inetd paske li bezwen jenere kle a sèvè anvan li ka reponn a kliyan an, e sa ka pran dè dizèn de segonn. Kliyan yo ta oblije rete tann twò lontan si kle a te rejenere chak fwa. Sepandan, ak gwosè ti kle (egzanp, 512) lè l sèvi avèk sshd soti nan inetd ka posib.

-k key_gen_time

Presize konbyen fwa vèsyon pwotokòl efemèr a 1 se rejenerasyon (default 3600 segonn, oswa yon sèl moman). Motivasyon an pou rejenerasyon kle a san patipri souvan se ke kle a pa estoke nenpòt kote, ak apre apeprè yon èdtan, li vin enposib refè kle a pou dekripte kominikasyon entèsepte menm si se machin nan fann nan oswa fizikman te sezi. Yon valè de zewo endike ke kle a pa janm ap rejenèr.

-o opsyon

Yo ka itilize bay opsyon nan fòma a yo itilize nan dosye a konfigirasyon. Sa a se itil pou espesifye opsyon pou ki pa gen okenn separe liy-liy drapo.

-p

Espesifye pò a ki te sou sèvè a koute pou koneksyon (default 22). Opsyon pò miltip yo pèmèt. Pò espesifye nan dosye a konfigirasyon yo inyore lè se yon pòsyon lòd-liy ki espesifye.

-q

Trankil mòd. Pa gen anyen ki voye nan boutèy la sistèm. Nòmalman nan konmansman an, otantifikasyon, ak revokasyon nan chak koneksyon yo louvri sesyon.

-t

Mòd tès. Sèlman tcheke validite a nan dosye a konfigirasyon ak saniti nan kle yo. Sa a se itil pou mete ajou sshd fiable kòm opsyon konfigirasyon ka chanje.

-a len

Se opsyon sa a itilize presize gwosè a nan jaden an nan estrikti a utmp ki kenbe non an lame aleka. Si non an rezoud lame a pi long pase len valè valè chaje yo pral itilize olye. Sa a pèmèt gen tout pouvwa a ak non anpil lame anpil ki debòde jaden sa a toujou dwe inikman idantifye. Ki endike - u0 endike ke sèlman adrès desimal desimal dwe mete nan dosye utmp. - u0 tou se itilize yo anpeche sshd soti nan fè demann dns sof si mekanis la otantifikasyon oswa konfigirasyon mande pou li. Mekanis Otantifikasyon ki ka mande pou dns gen ladan RhostsAuthentication RhostsRSAAuthentication HostbasedAuthentication ak lè l sèvi avèk yon opsyon = modèl-lis opsyon nan yon dosye kle. Opsyon konte genyen ki mande pou dns gen ladan l sèvi avèk yon USER @ HOST modèl nan AllowUsers oswa DenyUsers

-D

Lè opsyon sa a se sshd espesifik pa pral detache epi yo pa vin yon dyaman. Sa a pèmèt siveyans fasil nan sshd

-4

Fòs sshd yo sèvi ak IPv4 adrès sèlman.

-6

Fòs sshd yo sèvi ak adrès IPV6 sèlman.

Dosye konfigirasyon

sshd li done konfigirasyon nan / etc / ssh / sshd_config (oswa dosye a espesifye ak - f sou liy lan lòd). Fòma dosye a ak opsyon konfigirasyon yo dekri nan sshd_config5.

Login Pwosesis

Lè yon itilizatè siksè mòso bwa nan, sshd fè bagay sa yo:

  1. Si koneksyon an se sou yon tty, e pa gen okenn lòd yo te espesifye, simagri tan dènye koneksyon ak / elatriye / motd (sof si anpeche nan dosye a konfigirasyon oswa pa $ HOME / .hushlogin wè seksyon SX FILES la).
  2. Si login la se sou yon tty, dosye koneksyon tan.
  3. Chèk / elatriye / nologin si li egziste, simagri sa a epi kite (sòf si rasin).
  4. Chanjman nan kouri ak privilèj itilizatè nòmal.
  5. Ansanm anviwònman de baz yo.
  6. Li $ HOME / .ssh / anviwònman si li egziste ak itilizatè yo gen dwa chanje anviwònman yo. Al gade nan opsyon nan PermitUserEnvironment nan sshd_config5.
  7. Chanjman nan anyè lakay itilizatè a.
  8. Si $ HOME / .ssh / rc egziste, kouri li; otreman si / etc / ssh / sshrc egziste, kouri li; otreman kouri xauth. Rc '' yo dosye yo bay X11 otantifikasyon pwotokòl la ak bonbon nan opinyon estanda.
  9. Kouri koki itilizatè a oswa lòd.

Fichye File Authorized_Keys

$ HOME / .ssh / authorized_keys se dosye a default ki bay lis kle yo piblik ki pèmèt pou RSA otantifikasyon nan pwotokòl vèsyon 1 ak pou piblik kle Otantifikasyon (PubkeyAuthentication) nan vèsyon pwotokòl 2. AuthorizedKeysFile ka itilize yo presize yon dosye altènatif.

Chak liy nan dosye a gen yon kle (liy vid ak liy kòmanse ak yon `# 'yo inyore kòm kòmantè). Chak kle piblik RSA konsiste de jaden sa yo, separe pa espas: opsyon, Bits, ekspozan, modil, kòmantè. Chak pwotokòl vèsyon 2 piblik kle konsiste de: opsyon, keytype, base64 kode kle, kòmantè. Jaden opsyon se opsyonèl; prezans li yo detèmine si wi ou non liy lan kòmanse ak yon nimewo oswa ou pa (jaden an opsyon pa janm kòmanse ak yon nimewo). Bits yo, ekspozan, modil ak jaden kòmantè bay kle a RSA pou pwotokòl vèsyon 1; jaden an kòmantè pa itilize pou anyen (men yo ka bon pou itilizatè a idantifye kle a). Pou pwotokòl vèsyon 2 keytype a se `ssh-dss '' oswa` `ssh-rsa ''

Remake byen ke liy nan dosye sa a yo anjeneral plizyè santèn bytes depi lontan (paske nan gwosè a nan piblik la kodaj kle). Ou pa vle tape yo nan; olye, kopye idantify.pub id_dsa.pub oswa dosye id_rsa.pub ak modifye li.

sshd ranfòse yon minimòm RSA kle modil gwosè pou Pwotokòl 1 ak pwotokòl 2 kle nan 768 Bits.

Opsyon yo (si prezan) konpoze de espesifikasyon opsyon vigil-separe. Pa gen espas yo pèmèt, eksepte nan quotes doub. Espesifikasyon yo opsyon sa yo sipòte (sonje ke mo kle opsyon yo ka-sansibl):

soti nan = modèl-lis

Espesifye ke nan adisyon a otantifikasyon piblik kle, non an kanonik nan lame a aleka dwe prezan nan lis la comma-separe nan modèl (`* 'ak`?' Sèvi kòm wildcards). Lis la ka gen ladan tou modèl negated pa prefixing yo ak `! ' ; si non an lame kanonik matche ak yon modèl negate, kle a pa aksepte. Objektif opsyon sa a se pou opsyonèlman ogmante sekirite: piblik kle otantifikasyon pou kont li pa mete konfyans serveurs rezo a oswa non oswa anyen (men kle a); sepandan, si yon moun yon jan kanmenm vòlè kle a, kle a pèmèt yon entrigan yo ale nan nenpòt kote nan mond lan. Opsyon sa a adisyonèl fè lè l sèvi avèk yon kle yo vòlè pi difisil (non serveurs ak / oswa routeurs ta dwe konpwomèt nan adisyon a jis kle a).

lòd = lòd

Espesifye ke se kòmandman an egzekite chak fwa yo itilize kle sa a pou otantifikasyon. Kòmandman an apwovizyone pa itilizatè a (si genyen) inyore. Se kòmandman an kouri sou yon pty si kliyan an mande yon pty; otreman li kouri san yo pa yon tty. Si ou bezwen yon kanal 8-bit pwòp, ou pa dwe mande yon pty oswa ou ta dwe presize non-pty. Ou ka mete yon quote nan lòd sa a lè ou site li avèk yon backslash. Opsyon sa a ta kapab itil pou limite sèten kle piblik pou fè yon operasyon espesifik. Yon egzanp ka yon kle ki pèmèt sovgad aleka men pa gen anyen lòt bagay. Remake byen ke kliyan an ka presize tchp / IP ak / oswa X11 ekspedisyon sof si yo klèman entèdi. Remake byen ke opsyon sa a aplike nan ekzekisyon koki, lòd oswa subsystem.

anviwònman = NON = valè

Espesifye ke fisèl la se yo dwe ajoute nan anviwònman an lè ouvri sesyon an lè l sèvi avèk kle sa a. Anviwònman varyab mete nan fason sa a pase sou lòt valè anviwònman default. Opsyon miltip nan kalite sa a yo pèmèt. Pwosesis anviwònman an andikape pa default epi li kontwole atravè opsyon nan PermitUserEnvironment . Opsyon sa a se otomatikman enfim si ItilizeLogin pèmèt.

Pa gen okenn pò-voye

Entèdi TCP / IP voye lè kle sa a itilize pou otantifikasyon. Nenpòt pò a pi devan demann pa kliyan an ap retounen yon erè. Sa a ta ka itilize, egzanp, an koneksyon avèk opsyon nan lòd .

pa-X11-voye

Padon X11 voye lè kle sa a itilize pou otantifikasyon. Nenpòt demand X11 pi devan pa kliyan an ap retounen yon erè.

pa gen okenn ajan-voye

Anpeche Ajan Otantifikasyon voye lè sa a kle yo itilize pou otantifikasyon.

pa-pty

Anpeche tty alokasyon (yon demann pou asiyen yon pty pral fail).

permitopen = lame: pò

Limite lokal "ssh -L '' pò transfere ke li ka sèlman konekte ak lame a espesifye ak pò. IPv6 adrès yo ka espesifye ak yon sentaks altènatif: lame / pò Opsyon miltip permitopen ka aplike separe pa koma. Pa gen okenn matche modèl ki fèt sou hostnames yo espesifye, yo dwe domèn literal oswa adrès.

Egzanp yo

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

soti nan = "* niksula.hut.fi,! pc.niksula.hut.fi" 1024 35 23 ... 2334 ylo @ niksula

Kòmandman = "fatra / lakay", pa gen okenn-pty, pa gen okenn-pò-voye 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 Fòma File

Sistèm / etc / ssh / ssh_known_hosts ak $ HOME / .ssh / known_hosts dosye gen ladan lame kle piblik pou tout gen tout pouvwa a li te ye. Fichye mondyal la ta dwe prepare pa administratè a (opsyonèl), ak dosye a pou chak itilizatè a kenbe otomatikman: chak fwa itilizatè a konekte soti nan yon lame enkoni se kle li yo ajoute nan dosye a chak-itilizatè.

Chak liy nan dosye sa yo gen jaden sa yo: hostnames, Bits, ekspozan, modil, kòmantè. Jaden yo separe pa espas.

Hostnames yo se yon lis komès-ki separe nan modèl ('*' ak '?' Aji kòm wildcards); Chak modèl, nan vire, se matche kont non an lame kanonik (lè otantifikasyon yon kliyan) oswa kont non an itilizatè-apwovizyone (lè otantifikasyon yon sèvè). Yon modèl ka anvan tou pa '!' yo endike negasyon: si non an lame matche ak yon modèl negate, li pa aksepte (pa liy sa a) menm si li matche yon lòt modèl sou liy lan.

Bits, ekspozan, ak modil yo pran dirèkteman nan kle a lame RSA; yo ka jwenn, egzanp, soti nan /etc/ssh/ssh_host_key.pub jaden kòmantè si ou vle kontinye nan fen liy lan, epi yo pa itilize.

Liy kòmanse avèk `# 'ak liy vid yo inyore kòm kòmantè.

Lè fè otantifikasyon lame, otantifikasyon aksepte si nenpòt liy matche gen kle a apwopriye. Li se konsa akseptab (men pa rekòmande) gen plizyè liy oswa kle lame diferan pou non yo menm. Sa a pral inevitableman rive lè fòm kout nan non lame soti nan domèn diferan yo mete nan dosye a. Li posib ke dosye yo gen enfòmasyon kontrè; Otantifikasyon an aksepte si enfòmasyon ki valab ka jwenn nan swa dosye.

Remake byen ke liy ki nan dosye sa yo, se tipikman dè santèn de karaktè long, epi ou definitivman pa vle tape nan kle yo lame nan men yo. Olye de sa, jenere yo pa yon script oswa pa pran /etc/ssh/ssh_host_key.pub epi ajoute non yo lame nan devan an.

Egzanp yo

fèmen, ..., 130.233.208.41 1024 37 159 ... 93 closeenet.hut.fi cvs.openbsd.org, 199.185.137.3 ssh-rsa AAAA1234 ..... =

Gade tou

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

T. Ylonen T. Kivinen M. Saarinen T. Rinne S. Lehtinen "SSH Pwotokòl Achitekti" bouyon-ietf-secsh-achitekti-12.txt Janvye 2002 travay nan materyèl pwogrè

M. Friedl N. Provos WA Simpson "Diffie-Hellman Gwoup Echanj pou Pwotokòl Transmisyon SSH" bouyon-ietf-secsh-dh-group-exchange-02.txt Janvye 2002 travay nan pwogrè materyèl

Enpòtan: Sèvi ak kòmandman an moun ( moun ) yo wè ki jan yon lòd yo itilize sou òdinatè patikilye ou.