Linux / Unix Command: sshd

Nome

sshd - Daemon OpenSSH SSH

Sinopsia

sshd [- dîqtD46 ] [- b bits ] [- f config_file ] [- g login_grace_time ] [- h host_key_file ] [- key_gen_time ] [- o option ] [- port p ] [- u len ]

Descrizzione

sshd ( Semmenu di SSH) hè u programa di daemon per ssh (1). Inseme, queste programmi riflette a rlogin è rsh , è furnisce cumunicazioni criptografiati sferenzii trà dui ospiti micca fidanzatu nantu à una retezza insicurata. I prugrammi sò intesu per esse faciule d'installà è utilizate com'è possibili.

Sshd hè u dimostradiu chì eseguilla per i cunnessione di i clienti. Hè spessu cuminciatu à u sopra à / etc / rc Hè un novu dimmandu per ogni cunvenzione entera. I dimònii forked manipule u scambiu di chjave, cifru, autentificazione, eseguzione di cummandu, è scambiu di dati. Questa implementazione di sshd soporta a versione 1 di u protucellu SSH simultaneamente.

SSH Protocol Version 1

Ogni hoste havi una chjave RSA specifica di l'addevu (normalment 1024 bits) utilizata per identificà l'accontu. Inoltre, quandu u deminuu di dimostrà, generate un servitore RSA chjave (normalment 768 bits). Sta chjave hè normeramente regenerata ogni ora si hè stata utilizata è ùn hè mai almacenata in u discu.

Sempre chì un cliente culpisci u daemon responde cù i so alcuni pubblichi è u servitore chjave. U cliente cumpareghja a copia di u mutore RSA cù a so propria basa di datu per verificà chì ùn hà micca cambiatu. U cliente cumanda generates un 256-bit random number. Cumentu stu numaru d'azzione chì anu usendu a chjave di u bigliettu è a chjave di u servitore è envia u numeru cifru à u servitore. I dui costi utilizate stu numaru d'azzione cum'è una chjave di a session chì hè utilizata per cifrà tutti i cumunicazioni più avanzati in a sessione. U restu di a sessione hè cifru utilizandu un cipheru convencianu, oghji Blowfish o 3DES, cù 3DES chì sò utilizati da u situ. U cliente sceglie l' algoritmu di cifru à utilizà da quelli offerte da u servitore.

In seguente, u servitore è u cliente truverete un dialogu di autentificazione. U cliente tentativu di autentificà cù l'autenticazione .rhosts. L'autenticazione di ricercà cun l'autenticazione di l'autore RSA, l'autenticazione RSA challenge-response, o l'autentificazione basata in password .

L'autentificazione Rhosts hè normale invalidata perchè hè fundamencamentu sicura, ma pò esse attivatu in u schedariu di cunfigurazione di u servitru se vulete. A sicurità di u sistema ùn hè migliuratu finu à ch'ella ùn si sere rshd rlogind è rexecd sò disattivati ​​(per esse disabilitatu discludie rlogin è rsh in a macchina).

SSH Protocol Version 2

A versione 2 hà travagliatu sìmulu: Ogni hoste havi una chjave specifica d'accolta (RSA o DSA) utilizata per identificà u cumandante. In ogni modu, quandu u dimostrenu cumencia, ùn hè micca urdinatu una chjave di u servitore. A securità à forward hè furnita per un accordu chjave Diffie-Hellman. Questu accordu chjave accoddi una chjave di a chjave cumuna

U restu di a sessione hè cifru cù un cifru simétricu, chì hè un 128 AES, Blowfish, 3DES, CAST128, Arcfour, AES, 192 bit AES o 256 bit AES. U cliente sceglie l'algoritmu di cifru à utilizà da quelli offerte da u servitore. In addition, l'integrità di a sessione hè furnuta per un code di autenticazione di messagiu criptogruficu (hmac-sha1 or hmac-md5).

A versione 2 di protoculu furnisce un usu di basa di public key (PubkeyAuthentic authentication) o un mudellu clientale (HostbasedAuthentication) u metu di autenticazione, l'autentificazione cù a cunnessione persunale è i metudi basati in risposta.

Command Execution and Data Forwarding

Se u clientu autentificà in autentificazione, hè datu un dialogu per a preparazione di a sessione. À questu tempu u cliente puderà dumandà l 'affari, cum'è l'attribuant un pseudo-tty, reenvià i connexioni X11, reenvià e cunnessione TCP / IP, o rinvià a cunnizzione di u cuntenutu di autentificazione cù u canali sicuru.

Infine, u cliente u dumande una scossa o esecutà di cumandimu. I lati si mette in modu di sessione. In questu modu, ogni banda puderà mandà e dati in ogni tempu, è esse dichjarazione esse rinviata à / da l'intesa u cumandariu nantu à u servitore, è u terminal d'usciu in u cliente.

Quandu u prugramma u prugramiu u prugramma è tutti i CSS1 è l'altre cunnessione anu chjusu, u servitore ponu l'ordine per esse da l'uperazione à u cliente è ei ugneme sali.

Sshd ponu esse cunfigurati cù l'opere di linea di mandatu o un schedariu di cunfigurazione. Opzioni di a linea di Commandulare anulisce i valori specifichi in u schedariu di cunfigurazione.

sshd rereads u so schedariu di cunfigurazione quandu ellu ricevvi un signalu di u hangup, SIGHUP eserciziu cù u nomu cuminciò cum'è ie, / usr / sbin / sshd

L'opzioni sò dinò:

-b bits

Especifica u nùmeru di bits in a prublema di l'esurtazione efemera 1 servita chjave (768 default).

-d

Modu Depug. U servitore viaghja furmatu di pruibitu à u ghjurnale di u sistema è ùn si mette in u sfondate. U servitore ùn ùn hè micca travagliu è solu prucessu una cunnessione. Questa opzione hè solu destinata à debuggate pè u servitore. L'opere multiplicate -d prumove u livellu di debugging. Massimu hè 3.

-e

Quandu sta opción hè specificata, sshd serà mandatu u risultatu à l'erroru standard in u cuntu di u logu di u sistema.

-f config_file

Especifica u nomu di u schedariu di cunfigurazione. U predefinitu è ​​/ etc / ssh / sshd_config sshd si rinvenze di principià si ùn ci hè micca un schedariu di cunfigurazione.

-g login_grace_time

Date à u tempu di gràzia per i clienti per autentificate (prima 120 seconde). Se u cliente ùn falla per autentificà l'utilizatore nant'à quessi assai sicondi, u servitore chjica, è surtite. Un valore di u cero ùn indica micca un limite.

-h host_key_file

Specifique un schedariu da quale hè leghjità una chjesa di accettante. Sta opción deve esse furnituatu se sshd ùn hè micca cundutu bè raziu (cum'è quelle chjaru di chjave di accadera nurmale sò normalment micca leghjitone da qualcunu, ma raghjone). U predefinitu è ​​/ etc / ssh / ssh_host_key per a versione 1 di protokollu è / etc / ssh / ssh_host_rsa_key è / etc / ssh / ssh_host_dsa_key per a versione di protokollu 2. Hè pussibule parechje chjave di schedarii dispunibule per i versioni di u protocolu è a chjave di accettante algoritmi.

-i

Especifica chì sshdcorrimi da inetd. sshd ùn hè micca spustatu da inetd chì hà bisognu di generà a chjave di u servitore prima di pudè risponde à u cliente, è questu pò piglià decenniale. I clienti anu da aspittà d'esse longa se a chjave era regenerata ogni volta. In ogni casu, cun un pezzu chjave chjavu (per esempiu, 512) usendu sshd di inetd pò esse fattibbli.

-k key_gen_time

Especifica quantità in regenerate a chjave di u servore di u protucculu efimeroicu (per primura 3600 segundos, o una ora). A mutivazione per regenerà a chjave cume spessu hè chì a chjave ùn hè micca almacenata in nudda, è dopu à una ora, si ponu esse impossibile di ricuperà a chjave per scrivite l'intercepte cumunicazioni ancu se a machina hè crackata in o fisizamente ingannuta. Un valore di u cero indica chì a chjave maiarà esse regenerata.

-o option

Pudete esse adupratu per aghjustà opzioni in u formatu utilizatu in u schedariu di cunfigurazione. Questu hè utile per spiegà ei opcions chì ùn sò micca bandiera di linea di cummanda separata.

-p port

Especifica u portu chì u servitore agisce di ligami (u default 22). Opere di porti multipli sò permessi. Porti specifichi in u schedariu di cunfigurazione si ignoranu quandu un portu di linea di cumanda hè specificatu.

-q

Modu silenziu. Nunda hè mandatu à u ghjurnale di u sistema. Normalmente u principiu, l'autentificazione è a terminazione di ogni cunnessione sò registati.

-t

Modu Test. Solu cuntrolla a validità di u schedariu di cunfigurazione è a cura di i chjavi. Questu hè ùtule per aghjurnà a sshd cun forza as opcions di cunfigurazione pò cambià.

-u len

Questa opzione hè utilizata per specifichi di u grandu di u campu in l'struttura utmp chì detene u nome di l'ostinuzza remota. Se u persunone di u servitore risurvutu hè più longu chì u lenzu u valeur numerale puntuale serà utilizatu invece. Questu permette chì l'anziani cù nomi di longu alcunu chì supraneghja stu campu per sempre esse identificatu uniquely. Specifying - u0 indetta chì l'indirizzu solu dumandate duminiu si deve esse posta in u utmp. - u0 hè ancu utilizatu per impedisce sshd da esse dumandate DNS aduce chì u mecanismu di autentificazione o a cunfigurazione precisa da. I miccanisi d'autentificazione chì pò esse dumandà DNS includenu RhostsAuthentication RhostsRSAAuthentication HostbasedAuthentication e utilizanu una opzioni di = stima di lista in un schedariu chjave. L'opzioni di cunfigurazione chì esse dumandenu DNS include utilizà un mudellu USER @ HOST in AllowUsers o DenyUsers

-D

Quandu sta opción hè specificata, Sshd ùn si distingue micca è ùn diventa un dimostratu. Questu permet un monitoru veloci di sshd

-4

I Forzi sshd per utilizà l'indirizzu IPv4 solu.

-6

I Forzi sshd per utilizà l'indirizzu IPv6 solu.

Configuration File

sshd legenda a datu di cunfigurazione da / etc / ssh / sshd_config (o u schedariu chjamatu cù - f in a linea di cumanda). U file formate è l'opere di cunfigurazione sò deskritti in sshd_config5.

Prucessu di Scuperta

Quandu un utilizatore hà riesciutu upertu, sshd fa questa:

  1. Se u login hè nantu à un tty, è ùn hè statu specificatu cumanda, stampate ultime u tempu d'identifiezione è / etc / motd (aghjustatu impeditu in u schedariu di cunfigurazione o da $ HOME / .hushlogin vede a Sezzione FILES).
  2. Se u login hè nantu à un tty, fate u tempu di registrazione.
  3. Verificà / etc / nologin se esiste, imprime cuntenutu è sullene (solu raghjoni).
  4. Cambiamenti per correr cù privilegi di uttinute normale.
  5. Funturà un ambiente basicu.
  6. Lee $ HOME / .ssh / ambiente si esisti e l'utilizatori sò permessi di cambià u so ambiente. Vede l'opzione PermitUserEnvironment in sshd_config5.
  7. Cambiamenti à u dirittu di u cliente.
  8. Se $ HOME / .ssh / rc esiste, a diri; altru, se / etc / ssh / sshrc esiste, a curriu; altri dirige xauth. I ricordi di "` rc '' sò datu u prublemu di autenticazione X11 è a cookie in l'input standard.
  9. Runs u cunceculu di u utilizatore o cumanda.

File Authorized_Keys

$ HOME / .ssh / authorized_keys hè u schedariu predeterminatu chì liste i chjavi pubblichi chì sò permessi per l'autentificazione RSA in a versione 1 di protokollu è l'autentificazione chjardu pùbblicu (PubkeyAuthentication) in a versione 2 di protucussu. Cumpitatu AutorizateCale pò esse usatu per spicificà un schedariu alternativu.

Ogni filu di u schedariu cuntene una chjave (i lìchi di viaghju è e lìenzi cuminciate cù un "#" sò ignorati cum'è comentarios). Ogni chjave publica RSA compone di e seguenti campi, siparati da i spazii: opzioni, bits, exponent, modulus, comment. Ogni versione di protokollu 2 a chjave publica si compone di: opzioni, keytype, basa64 codificata chjave, cummentà. U campu d'opzioni hè fakultante; a so prisenza hè determinata da se a linea cumencia cun un numeru o micca (u campu di l'opere ùn hè mai accuminciatu cun un numeru). I buzzighi, espunenti, moduli è cummentarii aghjunghjenu a chjave RSA per a versione 1 di protokollu; U campu di cumentu ùn hè micca utilizzatu per nunda (ma pò esse adattate per l'utilizatore per identificà a chjave). Per a versione 2 di protucussu, u keytype hè "` ssh-dss '' o `` ssh-rsa ''

Note chì e ligna di stu schedariu sò normalment parechji centu perte longu (per via di a dimensione di a chjave di u publicu). Ùn vogliu micca scribirivalli; invece, copie l'identità.pub id_dsa.pub o l'id_rsa.pub file è edità.

sshd furia un altru minimu di modulus RSA minimu per u protoccu 1 è u protocolu 2 chjavi di 768 bits.

L'opzioni (se prisentanu) sò stati specifichi di l'opere questu-separati. Ùn sò permette spazii, solu in dui quotes. Ci sò l'aiutu di l'opere queste seconce (nota chì e parole di clause sò case-insensitive):

da = patrone di lista

Especifica chì in addition à l'autentificazione chjaru di u publicu, u nomu canonicu di l'urdinatu remplitente deve esse prisenti in a lista di i patroni sali comma ('*' è "?" Serve cum'è comodines). A lista pò ancu cuntene disinfettati chjamati cù i prefixi cun '! ; se u chjaru canunicu coincide un patronu negativu, a chjave ùn hè micca accettata. U scopu di sta scelta hè di furmà aumentà a sicurità: l'autentificazione chjarpita publiche ùn hà micca fiducia in a rede o servitori di nome o nulla (ma a chjave); In ogni casu, si qualchissia alcuna rotaghju a chjave, a chjave permette un intruder à logà in ogni locu in u mondu. Questa opzione supplementaria faciale aduprà una chjave a robba più difficili (i servitori de nome è / o router deve esse cumprumuti ancu di a chjave).

cumanda = cumanda

Especifique chì u cumandimu hè esercitu sempre chì questa chjave hè aduprata per l'autentificazione. U cumandimu fornitu da l'utilizatore (se anu) hè ignoratu. U cumandimu hè ghjucatu nantu à un pty si u cliente u dumande un pty; altrimenti si manca senza tty. Se un passaghju limitu per 8 buzzelli hè necessariu, ùn deve micca dumandà dumandà un pty o ùn spiccianu nis-pty Cume hè listinu per esse cumentu cume una retroattazione. Questa opzione puderia esse utili per restringirliu certi chjavi pubblichi à fà cumparisce una operazione specifica. Un esempiu puderia esse una chjave chì permette i copia di salvezza remessi ma nimu. Infatti chì u cliente pudete spicificà TCP / IP è / o X11 di reenvechje s'ellu ùn sò esse dichjaratu explicitamente. Innota chì sta scelta hè applicata à casu, cumandimu o esecutore sottosistema.

ambiente = NOMBRE = valore

Especifica chì a stringa hè aghjuntu à aghjunghje à l'ambientu durante u login in utilizà sta chjave. E varianti di l'Ambiente cambienu stu modu anulate l'altri valuri di l'ambienti predeterminati. Opere multiplici di stu tipu sò permessi. U prucessu di l'ambiente hè disattivatu da u cumerciu è hè cuntrullatu via l'opzione PermitUserEnvironment . Questa opzione hè automaticamente disattivata se UseLogin hè attivata.

senza rete

Invece TCP / IP reenvue quan questa chjave hè aduprata per l'autentificazione. Ogni duminiu à u portu di u cliente da u cliente t'hà vultatu un errore. Questu pò esse usatu, per esempiu, in cunnessione cù l'opzione di cumanda.

no-X11-forwarding

Pruvate a reenvigenza X11 quandu a chjave hè aduprata per l'autentificazione. Ogni pezzi di quistione X11 da u cliente t'hà vultatu un errore.

senza reaghjura

Prupìa l'aghjurnamentu di l'autentificazione cù questa chjave hè aduprata per l'autentificazione.

no-pty

Impedisce a distribuzione tty (una dumanda per attribuisce una pty falla).

permitopen = albergante: portu

Limite locale «` ssh -L '' di u trasportu di u portu chì pò esse cunnisciutu solu à u vostru òspite è u portu. L'indirizzi IPv6 pò esse spjegati cù una sintaxisa alternativa: host / port Opere di multiple permessi possu esse applicati separati da persone. Nisun cunnessu di patrune hè realizatu nantu à i numeri d'alessi especificati, duveranu esse duminii literali o indirizzi.

Esempii

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

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

cumanda = "dump / casa", no-pty, no-port-forwarding 1024 33 23 ... 2323 backup.hut.fi

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

Ssh_Known_Hosts Format di l'architettura

U / etc / ssh / ssh_known_hosts è $ HOME / .ssh / known_hosts sò u schedariu chì cuntenenu e chjave pùblicu publicu per tutti l'anziani amici. U schedariu globale deve esse preparatu da l'amministratore (facultativu), è u schedariu per l'utilizatore si mantene automaticamente: quandu u usu di cunnessione da un invitatu chjesa, a so chjave hè aghjuntu à u schedariu per l'usu.

Ogni linea in sti schedari cuntene i seguenti campi: duminii, duminii, exponent, modulus, cummentari. I campi sò spartuti da spazi.

Hostnames sò una lista di i patroni sali comma ('*' è '?' Cum'è comodines); ogni patronu, in u turnu, hè incù ghjuchjerdu à u nomu di l'ostinenza canonica (quandu si autentifiche un cliente) o contru u nomu fornitu per l'utilizatore (quandu si autentifiche un servitore). Un patronu pò ancu esse precedutu da "!" per indicà a nazione: u casu di u ospitale ùn currisponde à un mudellu negativu, ùn hè micca accettatu (da quella linea) ancu s'ellu hà truvatu un altru schema nantu à a linea.

Bits, exponent, è u modulu sò presi direttamenti da a chjave d'acne RSA; ponu esse acquistati, per esempiu, di /etc/ssh/ssh_host_key.pub Il-campu di cumentu opcional segue a fini di a linea, è ùn hè micca usatu.

E lini starting from `# 'è e lattice vacanti sò ignorati cumenti.

Quandu si realice l'autentificazione d'autore, l'autentificazione hè stata accettata per i vostri fili currispundenti quandu a chjave propria Hè cusì permessa (ma micca cunsigliata) per avè parechje chjave o altre funziunalità chjave per i stessi nomi. Questu inevitabbile succédevi quan e formule cume di i numeri d'ombra di i diversi duminii sò messu in u file. Hè pussibule chì i schedari cuntenenu infurmazione contrante; L'autentificazione hè stata accettata per solu una infurmazione valida per esse unu furia.

Nota chì i linii in sti schedari sò typically centenari di caratteri longu, è ùn hà micca scrittu à scrivite in i chjavi di a chjave. Puderete ghjustificà da un script o di piglià /etc/ssh/ssh_host_key.pub è aghjunghjendu i numeri d'ospiti in a fronte.

Esempii

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

Vede ancu

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 Gennaio 2002 travagli in prugressu materiale

M. Friedl N. Provos WA Simpson "Diffie-Hellman Gruppu di Scambi per u SSH Transport Layer Protocol" draft-ietf-secsh-dh-group-exchange-02.txt January 2002 work in progress material

Impurtante: Utilizà l'ordine di u manu ( % man ) per vede cumu u cumandimu hè usatu in u vostru urdinatore particulari.