Linux / Unix Command: sshd

Ngalan

sshd - OpenSSH SSH nga daemon

Sinopsis

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

Deskripsiyon

Ang sshd (SSH Daemon) mao ang daemon nga programa alang sa ssh (1). Kini nga mga programa mag-ilis sa rlogin ug rsh , ug naghatag og kasaligang encrypted nga mga komunikasyon tali sa duha ka wala'y tuyo nga mga panon tungod sa walay kasigurohan nga network. Ang mga programa gituyo nga ingon ka sayon ​​sa pag-instalar ug paggamit kutob sa mahimo.

Ang sshd mao ang daemon nga maminaw sa mga koneksyon gikan sa mga kliyente. Kasagaran kini nagsugod sa boot gikan sa / etc / rc Kini nagdala usa ka bag-ong daemon alang sa matag umaabot nga koneksyon. Ang mga forked daemons nag-handle sa mahinungdanong pagbinayloay, encryption, pag-authentication, pagpatuman sa command, ug pagbayloay sa data. Kini nga pagpatuman sa sshd nagsuporta sa SSH protocol version 1 ug 2 sa samang higayon.

Ang SSH Protocol Version 1

Ang matag host adunay host sa RSA key (kasagaran 1024 bits) nga gigamit sa pag-ila sa host. Dugang pa, sa diha nga ang daemon magsugod, kini makamugna sa usa ka RSA key (kasagaran 768 ka bits). Kini nga yugto sa kasagaran mauli-uli matag oras kung kini gigamit, ug dili gayud kini gitipigan sa disk.

Sa matag higayon nga ang usa ka kliyente magkonektar sa daemon motubag uban sa iyang mga public key ug server keys. Gipakasama sa kliyente ang RSA host nga yawe batok sa kaugalingong database aron masiguro nga kini wala mausab. Ang kliyente unya makamugna og usa ka 256-bit random number. Nag-encrypt kini nga random number gamit ang host key ug ang server key ug gipadala ang naka-encrypt nga numero sa server. Ang duha ka kilid dayon gamiton kini nga random nga gidaghanon ingon nga usa ka sesyon sa sesyon nga gigamit aron ma-encrypt ang tanang mga komunikasyon sa sesyon. Ang nahibilin sa sesyon gi-encrypt gamit ang usa ka conventional cipher, nga karon Blowfish o 3DES, diin ang 3DES gigamit nga default. Ang kliyente mipili sa encryption algorithm aron gamiton gikan sa mga gitanyag sa server.

Sunod, ang server ug ang kliyente mosulod sa usa ka pahayag sa pag-ila. Ang kliyente naningkamot nga pamatud-an ang kaugalingon gamit ang .rhosts authentication, .rhosts authentication inubanan sa RSA host nga authentication, RSA nga hagit-pagtubag sa tubag, o pagkumpirma sa password .

Ang kasagarang pag-authentication sa kasagaran dili kapugngan tungod kay kini sa batakan dili segurado, apan mahimo nga ma-enable sa server configuration file kon gusto. Ang kasigurohan sa sistema wala mausab gawas kung ang rshd rlogind ug rexecd ma-disabled (sa ingon hingpit nga pagputol sa rlogin ug rsh sa makina).

SSH Protocol Version 2

Ang Version 2 nagtrabaho sa samang paagi: Ang tagsa tagsa adunay usa ka key-specific nga key (RSA o DSA) nga gigamit sa pag-ila sa host. Apan, sa diha nga magsugod ang daemon, wala kini makahimo sa usa ka yawe sa server. Ipadayon ang seguridad pinaagi sa usa ka kasabutan sa Diffie-Hellman. Ang kini nga kasabutan sa kasabutan nagresulta sa usa ka share session key.

Ang nahibilin sa sesyon gi-encrypt gamit ang symmetric cipher, karon 128 ka bit AES, Blowfish, 3DES, CAST128, Arcfour, 192 bit AES, o 256 bit AES. Ang kliyente mipili sa encryption algorithm aron gamiton gikan sa mga gitanyag sa server. Dugang pa, ang integridad sa session gihatag pinaagi sa usa ka cryptographic message authentication code (hmac-sha1 o hmac-md5).

Ang Protocol version 2 naghatag sa usa ka public key based user (PubkeyAuthentication) o kliyente host (HostbasedAuthentication) nga pamaagi sa pag-ila, conventional password authentication, ug challenge-response based nga pamaagi.

Pagpatuman sa Command ug Pagpasa sa Data

Kon ang kliyente nagmalampuson nga nagpahibalo sa iyang kaugalingon, usa ka panagsulti alang sa pag-andam sa sesyon gisulod. Niining panahona ang kliyente mahimong mohangyo og mga butang sama sa paggahin og pseudo-tty, pagpasa sa mga koneksyon sa X11, pagpasa sa mga koneksyon sa TCP / IP, o pag-forward sa koneksyon sa otorisasyon sa ibabaw sa luwas nga channel.

Sa katapusan, ang kliyente nangayo sa usa ka kabhang o pagpatay sa usa ka sugo. Ang mga kilid dayon mosulod sa session mode. Niini nga pamaagi, ang bisan kinsa nga kilid mahimong magpadala sa datos sa bisan unsang panahon, ug ang ingon nga datos ipadala sa / gikan sa kabhang o komando sa server nga bahin, ug ang terminal sa tiggamit sa kliyente.

Sa diha nga ang programa sa tiggamit natapos ug ang gipasa sa X11 ug uban pang mga koneksyon gisirhan na, ang server nagpadala sa command exit status ngadto sa kliyente ug ang duha nga mga kilid mogawas.

Ang sshd mahimong ma-configure gamit ang mga opsyon sa command-line o usa ka configuration file. Ang mga opsyon sa command-line nga mga override nga mga bili nga gitino sa configuration file.

ang sshd rereads sa iyang configuration file sa dihang nakadawat kini og hangup signal, SIGHUP pinaagi sa pagpatuman sa kaugalingon niini nga ngalan nga gisugdan sama sa, ie, / usr / sbin / sshd

Ang mga kapilian mao ang mosunod:

-b bits

Nagtino sa gidaghanon sa mga piraso sa panulud sa ephederma nga bersyon 1 sa server key (default 768).

-d

Debug mode. Ang server nagpadala sa verbose debug nga output ngadto sa sistema log ug dili ibutang ang kaugalingon sa luyo. Ang server usab dili molihok ug moproseso lamang sa usa ka koneksyon. Kini nga opsyon alang lang sa debugging alang sa server. Ang mga opsiyon sa multiple -d makadugang sa lebel sa debugging. Ang kinatas-an mao ang 3.

-e

Sa higayon nga kini nga kapilian matino, ang sshd magpadala sa output ngadto sa standard error inay sa log system.

-f configuration_file

Nagtino sa ngalan sa configuration file. Ang default mao ang / etc / ssh / sshd_config sshd nagdumili sa pagsugod kung walay configuration file.

-g login_grace_time

Naghatag sa panahon sa grasya alang sa mga kliyente aron pamatud-an ang ilang kaugalingon (default nga 120 segundos). Kon ang kliyente mapakyas sa pag-authenticate sa tiggamit niini sulod sa daghang mga segundo, ang server nahunong, ug mogawas. Ang bili sa zero nagpakita nga walay kinutuban.

-h host_key_file

Nagtino sa usa ka file diin ang usa ka yawe sa panon mabasa. Kini nga kapilian kinahanglang mahatag kung ang sshd dili run ingon nga gamut (tungod kay ang normal nga mga yawe nga mga file sa tono kasagaran dili mabasa sa bisan kinsa gawas sa gamut). Ang default mao ang / etc / ssh / ssh_host_key alang sa protocol version 1, ug / etc / ssh / ssh_host_rsa_key ug / etc / ssh / ssh_host_dsa_key para sa protocol nga bersyon 2. Posible nga adunay daghang host nga mga file alang sa nagkalainlain nga mga protocol version ug host key mga algorithm.

-i

Nagtino nga ang sshd gipadagan gikan sa inetd. Ang sshd sa kasagaran dili mahitabo gikan sa inetd tungod kay kini kinahanglan nga makamugna sa yawe sa server sa dili pa kini makatubag sa kliyente, ug kini mahimong moabut sa napulo ka mga segundo. Ang mga kliyente kinahanglan nga maghulat og dugay kung ang yawe gi-regenerated matag higayon. Apan, nga adunay gamay nga yawe sa gidak-on (pananglitan, 512) ang paggamit sa sshd gikan sa inetd mahimong posible.

-k key_gen_time

Nagtino kon unsa ka sagad ang episyente nga protocol version 1 server nga yawe gi-regenerated (default nga 3600 segundos, o usa ka oras). Ang panukmod sa pagpabag-o sa yawe sa makadaghan mao nga ang yawe wala gitipigan bisan asa, ug human sa mga usa ka oras, imposible nga mabawi ang yawe alang sa pag-decrypting nga nasakpan sa mga komunikasyon bisan kon ang makina nahugno o pisikal nga nasakmit. Ang usa ka bili sa zero nagpakita nga ang yawe dili na gayud mabag-o.

-o kapilian

Mahimo gamiton aron mahatagan ang mga kapilian sa format nga gigamit sa configuration file. Kini mapuslanon sa pagtino sa mga kapilian nga walay bandila nga command line.

-p port

Nagtino sa pantalan diin ang server maminaw alang sa koneksyon (default 22). Gitugotan ang daghang kapilian nga port. Ang mga pantay nga gitakda sa configuration file wala panumbalinga kon ang usa ka port sa command-line gipili.

-q

Hilom nga paagi. Wala'y gipadala sa log system. Kasagaran ang pagsugod, pag-ila, ug pagtapos sa matag koneksyon gisudlan.

-t

Pagsulay nga paagi. Susiha lamang ang pagkab-ot sa configuration file ug katilingbanon sa mga yawe. Kini mapuslanon sa pag-update sa sshd nga masaligon ingon nga ang mga kapilian sa pagsumpo mahimong mausab.

-u len

Kini nga kapilian gigamit aron mahibal-an ang gidak-on sa natad sa utmp structure nga naghupot sa hilit nga pangalan sa host. Kon ang masulbad nga pangalan sa host mas taas kay sa len ang masulub-on nga decimal nga kantidad ang gamiton hinoon. Kini nagtugot sa mga host nga adunay taas nga mga pangalan sa host nga nagaawas sa kini nga kapatagan aron sa gihapon mahibal-an nga talagsaon. Ang pagtino - u0 nagpakita nga ang mga dotted decimal address lamang ang kinahanglan ibutang sa utmp file. - u0 usab gamiton aron mapugngan ang sshd gikan sa paghimo sa mga hangyo sa DNS gawas kon ang mekanismo sa pagkakasiguro o pagsalig nagkinahanglan niini. Ang mga mekanismo sa pag-authenticate nga nagkinahanglan sa DNS naglakip sa RhostsAuthentication RhostsRSAAuthentication HostbasedAuthentication ug paggamit sa usa ka gikan sa = kapilian nga lista nga kapilian sa usa ka yawe nga file. Ang mga opsyon sa pag-configure nga nagkinahanglan sa DNS naglakip sa paggamit sa usa ka pattern nga USER @ HOST sa AllowUsers o DenyUsers

-D

Sa diha nga kini nga kapilian gitino ang sshd dili maglain ug dili mahimong usa ka daemon. Kini nagtugot sa sayon ​​nga pagbantay sa sshd

-4

Mga pwersa nga sshd sa paggamit lamang sa mga adres sa IPv4.

-6

Mga pwersa nga sshd aron gamiton ang mga adres sa IPv6 lamang.

File sa Configuration

Ang sshd mabasa ang kasayuran nga datos gikan sa / etc / ssh / sshd_config (o ang file nga gitino uban sa - f sa command line). Ang format sa file ug mga kapilian sa pagsumpo gihulagway sa sshd_config5.

Pag-login nga proseso

Sa diha nga ang usa ka tiggamit sa malampuson nga pag-log in, ang sshd ang mosunod:

  1. Kon ang login anaa sa usa ka tty, ug walay gimando nga mando, mag-imprinta sa katapusan nga panahon sa pag-login ug / etc / motd (gawas kon mapugngan sa configuration file o sa $ HOME / .hushlogin makita ang seksyon sa Sx FILES).
  2. Kon ang login anaa sa usa ka tty, magrekord sa oras sa pag-login.
  3. Mga tseke / etc / nologin kung kini anaa, mag-imprinta sa mga sulod ug mohunong (gawas kon gamut).
  4. Ang mga pagbag-o nga modagan uban sa normal nga mga pribilehiyo sa user
  5. Nagtukod og batakan nga palibot.
  6. Gibasa ang $ HOME / .ssh / environment kon anaa kini ug ang mga tiggamit gitugotan sa pag-usab sa ilang palibot. Tan-awa ang kapilian sa PermitUserEnvironment sa sshd_config5.
  7. Mga kausaban sa direktoryo sa panimalay sa gumagamit.
  8. Kon adunay $ HOME / .ssh / rc nga naglungtad, magamit kini; Kung wala pa ang / etc / ssh / sshrc, magamit kini; kung dili magpadayon ang xauth. Ang mga file nga `rc 'gihatag ang X11 authentication protocol ug cookie sa standard input.
  9. Gigamitan ang kabhang sa panit o mando.

Format sa File sa Authorized_Keys

$ HOME / .ssh / authorized_keys mao ang default nga file nga naglista sa mga pampublikong mga yawe nga gitugotan alang sa RSA nga pag-authenticate sa protocol version 1 ug alang sa pagpa-authentic sa key sa publiko (PubkeyAuthentication) sa protocol nga bersyon 2. AuthorizedKeysFile mahimong gamiton aron mahibal-an ang usa ka alternatibong file.

Ang matag linya sa file naglangkob sa usa ka yawe (mga walay sulod nga mga linya ug linya nagsugod sa usa ka `# 'nga gisalikway isip mga komentaryo). Ang matag publikong yawe sa RSA naglangkob sa mosunod nga mga natad, nga gibulag sa mga luna: mga kapilian, mga tipik, eksponer, modulus, komentaryo. Ang matag protocol version 2 public key naglangkob sa: mga kapilian, keytype, base64 nga naka-encode nga yawe, komentaryo. Ang mga kapilian nga mga larangan mahimo nga opsyonal; ang presensya niini gitino kung ang linya magsugod sa usa ka numero o dili (ang mga opsyon nga field dili magsugod sa usa ka numero). Ang bits, exponent, modulus ug mga field nga komentaryo naghatag sa key RSA alang sa protocol version 1; ang comment field dili gigamit alang sa bisan unsang butang (apan mahimo nga kombenyente alang sa user aron mailhan ang yawe). Kay protocol version 2 ang keytype mao ang `` ssh-dss '' o `` ssh-rsa ''

Timan-i nga ang mga linya niini nga file kasagaran mga gatusan ka byte ang gitas-on (tungod sa gidak-on sa pag-encode sa publiko nga key). Dili nimo gusto i-type kini; Hinuon, kopyaha ang identity.pub id_dsa.pub o ang id_rsa.pub file ug i-edit kini.

Ang sshd nagpatuman sa usa ka minimum nga RSA key modulus size alang sa protocol 1 ug protocol 2 mga yawe sa 768 bits.

Ang mga kapilian (kon anaa) naglangkob sa mga paghingalan sa mga komon nga gipili nga koma. Walay mga luna nga gitugutan, gawas sa doble nga mga kinutlo. Ang mosunod nga mga paghingalan sa opsyon gipaluyohan (timan-i nga ang mga gipili nga mga pulong mga case-insensitive):

gikan sa = pattern-list

Nagtino nga dugang pa sa pag-ila sa publikong yawi, ang kanonikal nga ngalan sa hilit nga panon kinahanglan nga anaa sa listahan sa mga sumbanan nga gibulag sa comma (`* 'ug`?' Nagsilbing mga wildcard). Ang lista mahimo usab nga adunay mga sumbanan nga gipanghimakak pinaagi sa pag-prefix sa ``! ; kung ang kanonikal nga ngalan sa host adunay katumbas nga sumbanan, ang yawe dili madawat. Ang katuyoan niini nga kapilian mao ang pag-usbaw sa seguridad: ang pagpanghimatuud sa publiko nga kinaugalingon wala magsalig sa network o pangalan nga mga tigtagad o bisan unsa (apan ang yawe); Apan, kung ang usa ka tawo sa bisan unsa man nga mokuha sa yawe, ang yawe nagtugot sa usa ka manlalusud nga mosulod gikan sa bisan asa sa kalibutan. Kining dugang nga kapilian naghimo sa paggamit sa usa ka gikawat nga yawe nga mas lisud (ang mga tighatag sa ngalan ug / o mga routers kinahanglan nga ikompromiso dugang sa yawe lamang).

command = command

Nagtino nga ang sugo gipatuman sa higayon nga kini nga yawe gigamit alang sa pag-ila. Ang sugo nga gihatag sa user (kon aduna man) wala panumbalinga. Ang sugo gipadagan sa usa ka pty kung ang kliyente naghangyo sa usa ka pty; kon dili kini modagan nga walay tty. Kon ang usa ka 8-bit nga limpyo nga agianan gikinahanglan, ang usa kinahanglan dili mangayo og usa ka pty o kinahanglan magtino nga walay pty A kutlo mahimo nga ilakip sa sugo pinaagi sa pagkutlo niini sa usa ka backslash. Kini nga kapilian mahimo nga mapuslanon sa pagpugong sa pipila ka mga yawe sa publiko sa pagpahigayon lamang sa piho nga operasyon. Ang usa ka pananglitan mahimong usa ka yawe nga nagtugot sa halayo nga mga back-up apan walay lain. Timan-i nga ang kliyente mahimong magtino sa TCP / IP ug / o pagpasa sa X11 gawas kon kini ginadili. Timan-i nga kini nga opsyon magamit sa pag-execute sa shell, command o subsystem.

palibot = NAME = bili

Nagtin-aw nga ang lambo idugang ngadto sa kalikupan kon mag-log in gamit kini nga yawe. Ang mga kalainan sa kalikopan nga nagpahimutang niining paagiha nagpalupig sa uban nga mga sukaranan sa pagpabiling buhi. Ang daghang mga kapilian niini nga matang gitugotan. Ang pagproseso sa kalikupan gi-disabled pinaagi sa default ug kontrolado pinaagi sa PermitUserEnvironment nga kapilian. Kini nga kapilian awtomatik nga gibug- atan kon ang UseLogin mahimo.

no-port-forwarding

Gidili ang pagpasa sa TCP / IP kung kini nga yawe gigamit alang sa pagkakasiguro. Ang bisan unsang mga port forward requests sa kliyente mobalik usa ka kasaypanan. Mahimong gamiton kini, pananglitan, may kalabotan sa kapilian nga sugo .

no-X11-forwarding

Gidili ang pagpasa sa X11 kung kini nga yawe gigamit alang sa pag-authentication. Ang bisan unsang X11 forward request sa kliyente mobalik usa ka sayup.

no-agent-forwarding

Gidili ang pagpasa sa ahente sa pag-authenticate kung kini nga yawe gigamit alang sa pag-ila.

no-pty

Nagpugong sa tty allocation (usa ka hangyo sa paggahin sa usa ka pty nga mapakyas).

permitopen = host: port

Limitahi ang pagpadala sa lokal nga `` ssh -L '' nga port nga kini mahimo lamang nga magkonektar sa gitakda nga host ug pantalan. Ang mga address sa IPv6 mahimo nga matino pinaagi sa usa ka alternatibo nga syntax: host / port Daghang permitopen nga mga opsyon mahimong magamit nga gibulag sa mga koma. Walay pagkapareha sa pagpahigayon sa pagpahigayon sa mga espesipikong mga tag-iya, kini kinahanglan nga literal nga mga dominyo o mga adres.

Mga pananglitan

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 File Format

Ang / etc / ssh / ssh_known_hosts ug $ HOME / .ssh / known_hosts nga mga file naglangkob sa host public keys alang sa tanang mga nahibaloan nga panon. Ang global nga file kinahanglan nga giandam sa administrador (opsyonal), ug ang per-user nga file awtomatikong magpabilin: sa higayon nga ang user magsumpay gikan sa usa ka wala mailhi nga host ang yawe niini idugang sa per-user file.

Ang matag linya niini nga mga file naglangkob sa mosunod nga mga natad: mga hostname, mga piraso, mga eksponer, modulus, komentaryo. Ang mga kaumahan gibahin sa mga luna.

Ang mga ngalan sa tagoanan usa ka listahan sa mga sumbanan nga gibulag sa comma ('*' ug '?' Nahimo nga mga wildcard); Ang matag sumbanan, sa baylo, gitakdo batok sa kanonikal nga ngalan sa panon (sa diha nga nagpamatuod sa usa ka kliyente) o batok sa ngalan nga gihatag sa user (sa pag-authenticate sa usa ka server). Ang usa ka sumbanan mahimo usab nga mag-una sa `! ' aron sa pagpaila sa negation: kung ang ngalan sa host adunay katumbas nga sumbanan, kini dili dawaton (pinaagi sa linya) bisan pa kini adunay lain nga sumbanan sa linya.

Ang mga tipik, eksponente, ug modulus gikuha direkta gikan sa RSA host nga yawe; sila makuha, pananglitan, gikan sa /etc/ssh/ssh_host_key.pub Ang opsyonal nga komento nga field nagpadayon sa katapusan sa linya, ug wala gigamit.

Ang mga linya nagsugod sa `# 'ug walay sulod nga mga linya gibaliwala ingon nga mga komentaryo.

Sa pagpahigayon sa authentication sa host, ang pag-authentication dawaton kung ang bisan unsang linya nga may matching adunay tukmang yawe. Busa kini gitugot (apan wala girekomenda) nga adunay daghang mga linya o nagkalain-laing mga yawe sa tago alang sa susamang ngalan. Kini dili kalikayan nga mahitabo kon ang mugbo nga mga porma sa mga ngalan sa host gikan sa lainlaing mga dominyo gibutang sa file. Posible nga ang mga file adunay nagkasungi nga kasayuran; Ang pag-ila pagadawaton kung adunay balido nga kasayuran nga makita gikan sa bisan unsang file.

Hinumdomi nga ang mga linya niini nga mga file kasagaran ginatos ka mga karakter ang gitas-on, ug siguradong dili gusto nga i-type ang mga yawe sa tag-iya pinaagi sa kamot. Hinunoa, himoa kini pinaagi sa script o pinaagi sa pagkuha sa /etc/ssh/ssh_host_key.pub ug idugang ang mga pangalan sa host sa atubangan.

Mga pananglitan

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

Tan-awa usab

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 Protocol Architecture" draft-ietf-secsh-architecture-12.txt

M. Friedl N. Provos WA Simpson "Diffie-Hellman Group Exchange alang sa SSH Transport Layer Protocol" draft-ietf-secsh-dh-group-exchange-02.txt Enero 2002 nga trabaho sa us aka nga materyal

Importante: Gamita ang tawo nga sugo ( % man ) aron makita kung giunsa ang usa ka sugo nga gigamit sa imong partikular nga computer.