SSHD(8) System Manager's Manual SSHD(8) NUME sshd - Demonul OpenSSH SINOPSIS sshd [-46DdeGiqTtV] [-C specificare-conectare] [-c fiier-certificat-gazda] [-E fiier-jurnal] [-f fiier-configurare] [-g timp-de-graie-autentificare] [-h fiier-cheie-gazda] [-o opiune] [-p port] [-u lungime] DESCRIERE sshd (Demonul OpenSSH) este programul demon pentru ssh(1). Acesta ofera comunicaii criptate sigure intre doua gazde ,,neincrezatoare" printr-o reea nesigura. sshd asculta conexiunile de la clieni. In mod normal, este iniiat la pornire din /etc/rc. Acesta interconecteaza un nou demon pentru fiecare conexiune primita. Demonii bifurcai gestioneaza schimbul de chei, criptarea, autentificarea, executarea comenzilor i schimbul de date. sshd poate fi configurat folosind opiuni din linia de comanda sau un fiier de configurare (implicit sshd_config(5)); opiunile din linia de comanda prevaleaza asupra valorilor specificate in fiierul de configurare. sshd ii recitete fiierul de configurare atunci cand primete un semnal de intrerupere, SIGHUP, executandu-se cu numele i opiunile cu care a fost pornit, de exemplu /usr/sbin/sshd. Opiunile sunt urmatoarele: -4 Foreaza sshd sa utilizeze numai adrese IPv4. -6 Foreaza sshd sa utilizeze numai adrese IPv6. -C specificare-conectare Specifica parametrii de conectare care urmeaza sa fie utilizai pentru modul de testare extinsa -T. Daca sunt furnizate, orice directive Match din fiierul de configurare care s-ar aplica sunt aplicate inainte ca configuraia sa fie scrisa la ieirea standard. Parametrii conexiunii sunt furnizai ca perechi cuvant cheie=valoare i pot fi furnizai in orice ordine, fie cu mai multe opiuni -C, fie ca o lista separata prin virgule. Cuvintele-cheie sunt "addr", "user", "host", "laddr", "lport" i "rdomain" i corespund adresei sursa, utilizatorului, numelui gazdei sursa rezolvate, adresei locale, numarului portului local i, respectiv, domeniului de rutare. In plus, fanionul "invalid-user" (care nu are un argument de valoare) poate fi specificat pentru a simula o conexiune de la un nume de utilizator nerecunoscut. -c fiier-certificat-gazda Specifica o ruta catre un fiier de certificat pentru a identifica sshd in timpul schimbului de chei. Fiierul de certificat trebuie sa corespunda unui fiier de cheie gazda specificat cu ajutorul opiunii -h sau al directivei de configurare HostKey. -D Cand este specificata aceasta opiune, sshd nu se va detaa i nu va deveni un demon. Acest lucru permite monitorizarea uoara a sshd. -d Modul de depanare. Serverul trimite ieirea de depanare detaliata la ieirea de eroare standard i nu se pune in fundal. De asemenea, serverul nu va executa fork(2) i va procesa o singura conexiune. Aceasta opiune este destinata numai pentru depanare pentru server. Opiunile multiple -d maresc nivelul de depanare. Maximul este 3. -E fiier-jurnal Adauga jurnalele de depanare la fiierul- jurnal in loc de jurnalul de sistem. -e Scrie jurnalele de depanare la ieirea din eroare standard in loc de jurnalul de sistem. -f fiier-configurare Specifica numele fiierului de configurare. Valoarea implicita este /etc/ssh/sshd_config. sshd refuza sa porneasca daca nu exista niciun fiier de configurare. -G Analizeaza i imprima fiierul de configurare. Verifica validitatea fiierului de configurare, emite configuraia efectiva la ieirea standard i apoi iese. Opional, regulile Match pot fi aplicate prin specificarea parametrilor de conexiune folosind una sau mai multe opiuni -C. -g timp-de-graie-autentificare Acorda timp de graie clienilor pentru a se autentifica (implicit 120 de secunde). Daca clientul nu reuete sa autentifice utilizatorul in acest numar de secunde, serverul se deconecteaza i iese. O valoare de zero indica lipsa unei limite. -h fiier-cheie-gazda Specifica un fiier din care este citita o cheie de gazda. Aceasta opiune trebuie furnizata daca sshd nu este rulat ca root (deoarece fiierele de chei de gazda normale nu pot fi citite decat de root). Valoarea implicita este /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ed25519_key i /etc/ssh/ssh_host_rsa_key. Este posibil sa avei mai multe fiiere de chei de gazda pentru diferii algoritmi de chei de gazda. -i Specifica faptul ca sshd este rulat din inetd(8). -o opiune Poate fi utilizata pentru a oferi opiuni in formatul utilizat in fiierul de configurare. Acest lucru este util pentru specificarea opiunilor pentru care nu exista un indicator de linie de comanda separat. Pentru detalii complete privind opiunile i valorile acestora, consultai sshd_config(5). -p port Specifica portul pe care serverul asculta conexiunile (implicit 22). Sunt permise mai multe opiuni de port. Porturile specificate in fiierul de configurare cu opiunea Port sunt ignorate atunci cand este specificat un port in linia de comanda. Porturile specificate cu ajutorul opiunii ListenAddress prevaleaza asupra porturilor din linia de comanda. -q Modul silenios. Nimic nu este trimis in jurnalul de sistem. In mod normal, inceputul, autentificarea i incheierea fiecarei conexiuni sunt inregistrate. -T Modul de testare extinsa. Verifica validitatea fiierului de configurare, emite configuraia efectiva la ieirea standard i apoi iese. Opional, regulile Match pot fi aplicate prin specificarea parametrilor conexiunii folosind una sau mai multe opiuni -C. Aceasta este similara cu opiunea -G, dar include testarea suplimentara efectuata de opiunea -t. -t Modul de testare. Verifica doar validitatea fiierului de configurare i corectitudinea cheilor. Acest lucru este util pentru actualizarea fiabila a sshd, deoarece opiunile de configurare se pot schimba. -u lungime Aceasta opiune este utilizata pentru a specifica dimensiunea campului din structura utmp care conine numele gazdei la distana. Daca numele de gazda rezolvat este mai lung decat len, se va utiliza in schimb valoarea zecimala punctata.(XXX.XXX.XXX.XXX) Acest lucru permite gazdelor cu nume de gazda foarte lungi care depaesc acest camp sa fie totui identificate in mod unic. Specificarea -u0 indica faptul ca in fiierul utmp ar trebui introduse numai adrese zecimale punctate. -u0 poate fi utilizat i pentru a impiedica sshd sa efectueze cereri DNS, cu excepia cazului in care mecanismul de autentificare sau configuraia o solicita. Mecanismele de autentificare care pot necesita DNS includ HostbasedAuthentication i utilizarea unei opiuni from="lista-modele" intr-un fiier cheie. Opiunile de configurare care necesita DNS includ utilizarea unui model UTILIZATOR@GAZDA in AllowUsers sau DenyUsers. -V Afieaza numarul versiunii, i iese. AUTENTIFICARE Demonul SSH OpenSSH accepta numai protocolul SSH 2. Fiecare gazda are o cheie specifica gazdei, utilizata pentru identificarea gazdei. Ori de cate ori un client se conecteaza, demonul raspunde cu cheia sa publica de gazda. Clientul compara cheia gazdei cu propria sa baza de date pentru a verifica daca aceasta nu s-a modificat. Secretul de transmitere este asigurat prin intermediul unui acord de chei Diffie-Hellman. Acest acord de chei are ca rezultat o cheie de sesiune partajata. Restul sesiunii este criptat utilizand un cifru simetric. Clientul selecteaza algoritmul de criptare de utilizat dintre cele oferite de server. In plus, integritatea sesiunii este asigurata printr-un cod criptografic de autentificare a mesajului (,,Message Authentication Code": MAC). In final, serverul i clientul intra intr-un dialog de autentificare. Clientul incearca sa se autentifice folosind autentificarea bazata pe gazda, autentificarea prin cheie publica, autentificarea prin provocare- raspuns sau autentificarea prin parola. Indiferent de tipul de autentificare, contul este verificat pentru a se asigura ca este accesibil. Un cont nu este accesibil daca este blocat, listat in DenyUsers sau grupul sau este listat in DenyGroups . Definiia unui cont blocat depinde de sistem. Unele platforme au propria baza de date a conturilor (de exemplu AIX), iar altele modifica campul passwd ( `*LK*' pe Solaris i UnixWare, `*' pe HP-UX, coninand `Nologin' pe Tru64, un `*LOCKED*' pe FreeBSD i un `!' pe majoritatea Linux-urilor). Daca exista o cerina de a dezactiva autentificarea prin parola pentru cont, permiand in acelai timp utilizarea cheii publice, atunci campul passwd trebuie sa fie definit la altceva decat aceste valori (de exemplu `NP' sau `*NP*'). Daca clientul se autentifica cu succes, se deschide un dialog pentru pregatirea sesiunii. In acest moment, clientul poate solicita lucruri precum alocarea unui pseudo-tty, redirecionarea conexiunilor X11, redirecionarea conexiunilor TCP sau redirecionarea conexiunii agentului de autentificare pe canalul securizat. Dupa aceasta, clientul solicita fie un shell interactiv, fie executarea unei comenzi non-interactive, pe care sshd o va executa prin intermediul shell-ului utilizatorului folosind opiunea -c. Cele doua pari intra apoi in modul sesiune. In acest mod, fiecare parte poate trimite date in orice moment, iar aceste date sunt transmise catre/de la shell sau comanda pe partea serverului i de la terminalul utilizatorului pe partea clientului. Atunci cand programul utilizatorului se incheie i toate conexiunile X11 transmise i alte conexiuni au fost inchise, serverul trimite starea de ieire a comenzii catre client i ambele pari ies. PROCESUL DE AUTENTIFICARE Atunci cand un utilizator se autentifica cu succes, sshd face urmatoarele: 1. Daca autentificarea se face pe un tty i nu a fost specificata nicio comanda, imprima ora ultimei autentificari i /etc/motd (cu excepia cazului in care este impiedicata in fiierul de configurare sau prin ~/.hushlogin; consultai seciunea FILES). 2. Daca autentificarea se face pe un tty, inregistreaza ora autentificarii. 3. Verifica /etc/nologin; daca exista, imprima coninutul i iese (daca utilizatorul nu este root). 4. Modificari pentru a rula cu privilegii normale de utilizator. 5. Definete un mediu bazic. 6. Citete fiierul ~/.ssh/environment, daca exista, iar utilizatorilor li se permite sa ii schimbe mediul. Consultai opiunea PermitUserEnvironment din sshd_config(5). 7. Se plaseaza in directorul personal al utilizatorului. 8. Daca ~/.ssh/rc exista i opiunea sshd_config(5) PermitUserRC este definita, il executa; altfel, daca /etc/ssh/sshrc exista, il executa; altfel, executa xauth(1). Fiierele "rc" primesc protocolul de autentificare X11 i cookie-ul in intrarea standard. A se vedea SSHRC, mai jos. 9. Ruleaza shell-ul sau comanda utilizatorului. Toate comenzile sunt executate in shell-ul de conectare al utilizatorului, astfel cum este specificat in baza de date cu parole a sistemului. SSHRC Daca fiierul ~/.ssh/rc exista, sh(1) il executa dupa citirea fiierelor de mediu, dar inainte de a porni shell-ul sau comanda utilizatorului. Acesta nu trebuie sa produca niciun rezultat la ieirea standard (stdout); in schimb, trebuie utilizata ieirea de erori standard (stderr). Daca este utilizata redirecionarea X11, acesta va primi perechea ,,proto cookie" in intrarea sa standard (i DISPLAY in mediul sau). Scriptul trebuie sa apeleze xauth(1) deoarece sshd nu va rula xauth automat pentru a adauga cookie-uri X11. Scopul principal al acestui fiier este de a rula orice rutine de iniializare care pot fi necesare inainte ca directorul personal al utilizatorului sa devina accesibil; AFS este un exemplu particular al unui astfel de mediu. Acest fiier va conine probabil un cod de iniializare urmat de ceva similar cu: if read proto cookie && [ -n "$DISPLAY" ]; then if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then # X11UseLocalhost=yes echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie else # X11UseLocalhost=no echo add $DISPLAY $proto $cookie fi | xauth -q - fi Daca acest fiier nu exista, se executa /etc/ssh/sshrc, iar daca nici acesta nu exista, se utilizeaza xauth pentru a adauga cookie-ul. FORMATUL FIIERULUI AUTHORIZED_KEYS AuthorizedKeysFile specifica fiierele care conin cheile publice pentru autentificarea cu cheie publica; daca aceasta opiune nu este specificata, valoarea implicita este ~/.ssh/authorized_keys i ~/.ssh/authorized_keys2. Fiecare linie a fiierului conine o cheie (liniile goale i liniile care incep cu un `#' sunt ignorate ca comentarii). Cheile publice sunt formate din urmatoarele campuri separate prin spaii: opiuni, tipul cheii, cheia codificata in baza64, comentariu. Campul opiuni este opional. Tipurile de chei acceptate sunt: sk-ecdsa-sha2-nistp256@openssh.com ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 sk-ssh-ed25519@openssh.com ssh-ed25519 ssh-rsa Campul de comentarii nu este utilizat pentru nimic (dar poate fi convenabil pentru utilizator sa identifice cheia). Reinei ca liniile din acest fiier pot fi lungi de cateva sute de octei (din cauza dimensiunii codificarii cheii publice) pana la o limita de 8 kilooctei, ceea ce permite chei RSA de pana la 16 kilobii. Nu dorii sa le introducei; in schimb, copiai fiierul id_ecdsa.pub, id_ecdsa_sk.pub, id_ed25519.pub, id_ed25519_sk.pub sau id_rsa.pub i editai-l. sshd impune o dimensiune minima a modulului cheii RSA de 1024 bii. Opiunile (daca sunt prezente) constau in specificaii de opiuni separate prin virgule. Nu sunt permise spaiile, cu excepia celor intre ghilimele duble. Sunt acceptate urmatoarele specificaii ale opiunilor (a se observa ca cuvintele cheie ale opiunilor nu in cont de majuscule i minuscule): agent-forwarding Activeaza redirecionarea agentului de autentificare dezactivata anterior de opiunea restrict. cert-authority Specifica faptul ca cheia listata este o autoritate de certificare (CA) de incredere pentru validarea certificatelor semnate pentru autentificarea utilizatorului. Certificatele pot codifica restricii de acces similare cu aceste opiuni ale cheii. In cazul in care sunt prezente atat restricii ale certificatului, cat i opiuni ale cheii, se aplica cea mai restrictiva combinaie dintre cele doua. command="comanda" Specifica faptul ca comanda este executata ori de cate ori aceasta cheie este utilizata pentru autentificare. Comanda furnizata de utilizator (daca exista) este ignorata. Comanda este executata pe un pty daca clientul solicita un pty; in caz contrar, este executata fara un tty. Daca este necesar un canal curat pe 8 bii, nu trebuie solicitat un pty sau trebuie specificat no-pty. Un citat poate fi inclus in comanda prin citarea sa cu o bara inversa. Aceasta opiune poate fi utila pentru a restriciona anumite chei publice pentru a efectua doar o anumita operaie. Un exemplu ar putea fi o cheie care permite salvari de la distana, dar nimic altceva. Reinei ca clientul poate specifica redirecionarea TCP i/sau X11, cu excepia cazului in care acestea sunt interzise in mod explicit, de exemplu folosind opiunea de cheie restrict. Comanda furnizata iniial de client este disponibila in variabila de mediu SSH_ORIGINAL_COMMAND. Reinei ca aceasta opiune se aplica executarii shell-ului, comenzii sau subsistemului. De asemenea, reinei ca aceasta comanda poate fi inlocuita de o directiva sshd_config(5) ForceCommand. Daca este specificata o comanda i o comanda forata este incorporata intr-un certificat utilizat pentru autentificare, atunci certificatul va fi acceptat numai daca cele doua comenzi sunt identice. environment="NUME=valoare" Specifica faptul ca irul de caractere trebuie adaugat mediului atunci cand va conectai utilizand aceasta cheie. Variabilele de mediu definite in acest mod prevaleaza asupra altor valori de mediu implicite. Sunt permise opiuni multiple de acest tip. Procesarea mediului este dezactivata in mod implicit i este controlata prin intermediul opiunii PermitUserEnvironment. expiry-time="specificare-timp" Specifica un interval de timp dupa care cheia nu va fi acceptata. Ora poate fi specificata ca o data AAAALLZZ[Z] sau ca o ora AAAALLZZHHMM[SS][Z]. Datele i orele vor fi interpretate in fusul orar al sistemului, cu excepia cazului in care sunt sufixate de un caracter Z, caz in care vor fi interpretate in fusul orar UTC. from="lista-modele" Specifica faptul ca, pe langa autentificarea prin cheie publica, fie numele canonic al gazdei de la distana, fie adresa IP a acesteia trebuie sa fie prezente in lista de modele separate prin virgule. Consultai MODELE in ssh_config(5) pentru mai multe informaii despre modele. In plus faa de potrivirea de tip caracter joker care poate fi aplicata numelor de gazda sau adreselor, o seciune from poate potrivi adresele IP utilizand notaia CIDR adresa/masklen. Scopul acestei opiuni este de a spori opional securitatea: autentificarea cu cheie publica in sine nu are incredere in reea sau in serverele de nume sau in nimic altceva (in afara de cheie); cu toate acestea, daca cineva fura cumva cheia, cheia permite unui intrus sa se conecteze de oriunde din lume. Aceasta opiune suplimentara face ca utilizarea unei chei furate sa fie mai dificila (serverele de nume i/sau router-ele ar trebui sa fie compromise in plus faa de cheie). no-agent-forwarding Interzice redirecionarea agentului de autentificare atunci cand aceasta cheie este utilizata pentru autentificare. no-port-forwarding Interzice redirecionarea TCP atunci cand aceasta cheie este utilizata pentru autentificare. Orice solicitare de redirecionare a portului de catre client va returna o eroare. Aceasta poate fi utilizata, de exemplu, in combinaie cu opiunea command. no-pty Impiedica alocarea tty (o cerere de alocare a unui pty va eua). no-user-rc Dezactiveaza executarea ~/.ssh/rc. no-X11-forwarding Interzice redirecionarea X11 atunci cand aceasta cheie este utilizata pentru autentificare. Orice solicitare de redirecionare X11 din partea clientului va returna o eroare. permitlisten="[gazda:]port" Limiteaza redirecionarea porturilor la distana cu opiunea ssh(1) -R astfel incat sa poata asculta numai pe gazda (opional) i portul specificate. Adresele IPv6 pot fi specificate prin includerea adresei intre paranteze drepte. Pot fi aplicate mai multe opiuni permitlisten separate prin virgule. Numele de gazda pot include caractere joker, astfel cum sunt descrise in seciunea MODELE din ssh_config(5). O specificaie de port * se potrivete oricarui port. Reinei ca opiunea GatewayPorts poate restriciona i mai mult adresele de ascultare. Reinei ca ssh(1) va trimite un nume de gazda "localhost" daca nu a fost specificata o gazda de ascultare atunci cand a fost solicitata redirecionarea i ca acest nume este tratat diferit faa de adresele explicite de gazda locala "127.0.0.1" i "::1". permitopen="gazda:port" Limiteaza redirecionarea porturilor locale cu opiunea ssh(1) -L astfel incat sa se poata conecta numai la gazda i portul specificate. Adresele IPv6 pot fi specificate prin includerea adresei intre paranteze drepte. Pot fi aplicate mai multe opiuni permitopen separate prin virgule. Nu se efectueaza nicio potrivire de model sau cautare de nume pe numele de gazda specificate, acestea trebuie sa fie nume de gazda i/sau adrese literale. O specificaie de port * se potrivete oricarui port. port-forwarding Activeaza redirecionarea porturilor dezactivata anterior de opiunea restrict. principals="principale" Pe o linie cert-authority, specifica principalii ,,principals" permise pentru autentificarea certificatului sub forma unei liste separate prin virgule. Cel puin un nume din lista trebuie sa apara in lista de principali a certificatului pentru ca certificatul sa fie acceptat. Aceasta opiune este ignorata pentru cheile care nu sunt marcate ca semnatari de certificate de incredere utilizand opiunea cert-authority. pty Permite alocarea tty dezactivata anterior de opiunea restrict. no-touch-required Nu solicita demonstrarea prezenei utilizatorului pentru semnaturile realizate utilizand aceasta cheie. Aceasta opiune are sens numai pentru algoritmii de autentificare FIDO ecdsa-sk i ed25519-sk. verify-required Solicita ca semnaturile realizate utilizand aceasta cheie sa ateste ca au verificat utilizatorul, de exemplu prin intermediul unui cod PIN. Aceasta opiune are sens numai pentru algoritmii de autentificare FIDO ecdsa-sk i ed25519-sk. restrict Activeaza toate restriciile, adica dezactiveaza redirecionarea porturilor, agenilor i X11, precum i dezactivarea alocarii PTY i a executarii ~/.ssh/rc. Daca in viitor vor fi adaugate capacitai de restricionare la fiierele authorized_keys, acestea vor fi incluse in acest set. tunnel="n" Foreaza un dispozitiv tun(4) pe server. Fara aceasta opiune, urmatorul dispozitiv disponibil va fi utilizat daca clientul solicita un tunel. user-rc Activeaza executarea ~/.ssh/rc dezactivata anterior de opiunea restrict. X11-forwarding Permite redirecionarea X11 dezactivata anterior de opiunea restrict. Un exemplu de fiier authorized_keys: # Comentariile sunt permise la inceputul liniei. Sunt permise liniile goale. # Cheie simpla, fara restricii ssh-rsa ... # Comanda forata, dezactiveaza PTY i toate redirecionarile restrict,command="dump /home" ssh-rsa ... # Restricionarea destinaiilor de redirecionare ssh -L permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa ... # Restricionarea ascultatorilor ssh -R forwarding permitlisten="localhost:8080",permitlisten="[::1]:22000" ssh-rsa ... # Configuraie pentru redirecionarea prin tunel tunnel="0",command="sh /etc/netstart tun0" ssh-rsa ... # Anularea restriciei pentru a permite alocarea PTY restrict,pty,command="nethack" ssh-rsa ... # Permite utilizarea cheii FIDO fara a fi necesara interacionarea cu utilizatorul no-touch-required sk-ecdsa-sha2-nistp256@openssh.com ... # Solicita verificarea utilizatorului (de exemplu, PIN sau biometric) # pentru cheia FIDO verify-required sk-ecdsa-sha2-nistp256@openssh.com ... # Cheie CA de incredere, permite FIDO fara interacionarea cu utilizatorul daca # este solicitat in certificat cert-authority,no-touch-required,principals="user_a" ssh-rsa ... FORMATUL FIIERULUI SSH_KNOWN_HOSTS Fiierele /etc/ssh/ssh_known_hosts i ~/.ssh/known_hosts conin cheile publice ale gazdelor pentru toate gazdele cunoscute. Fiierul global trebuie pregatit de administrator (opional), iar fiierul per utilizator este meninut automat: ori de cate ori utilizatorul se conecteaza la o gazda necunoscuta, cheia acesteia este adaugata la fiierul per utilizator. Fiecare linie din aceste fiiere conine urmatoarele campuri: marcaj (opional), nume de gazda, tip de cheie, cheie codificata in baza 64, comentariu. Campurile sunt separate prin spaii. Marcajul este opional, dar daca este prezent, atunci trebuie sa fie unul dintre "@cert-authority", pentru a indica faptul ca linia conine o cheie de autoritate de certificare (CA), sau "@revoked", pentru a indica faptul ca cheia coninuta pe linie este revocata i nu trebuie acceptata niciodata. Pe o linie de cheie trebuie utilizat un singur marcaj. Numele de gazde este o lista de modele separate prin virgule (`*' i `?' acioneaza ca jokeri); fiecare model in parte este comparat cu numele de gazda. Atunci cand sshd autentifica un client, cum ar fi atunci cand utilizeaza HostbasedAuthentication, acesta va fi numele canonic al gazdei clientului. Atunci cand ssh(1) autentifica un server, acesta va fi numele de gazda dat de utilizator, valoarea ssh(1) HostkeyAlias daca a fost specificata, sau numele de gazda canonic al serverului daca a fost utilizata opiunea ssh(1) CanonicalizeHostname. Un model poate fi, de asemenea, precedat de `!' pentru a indica negarea: daca numele de gazda se potrivete cu un model negat, acesta nu este acceptat (de linia respectiva) chiar daca se potrivete cu un alt model de pe linie. Un nume de gazda sau o adresa poate fi inclusa opional intre parantezele `[' i `]', urmate apoi de `:' i un numar de port nestandard. Alternativ, numele de gazde pot fi stocate intr-o format de suma de control care ascunde numele de gazde i adresele in cazul in care coninutul fiierului ar fi divulgat. Numele de gazde in format de suma de control incep cu un caracter `|'. Un singur nume de gazda in format de suma de control poate aparea pe o singura linie i nu poate fi aplicat niciunul dintre operatorii de negare sau de caractere joker de mai sus. Tipul de cheie i cheia codificata in baza64 sunt preluate direct din cheia gazdei; acestea pot fi obinute, de exemplu, din /etc/ssh/ssh_host_rsa_key.pub. Campul de comentariu opional continua pana la sfaritul liniei i nu este utilizat. Liniile care incep cu `#' i liniile goale sunt ignorate ca comentarii. Atunci cand se efectueaza autentificarea gazdei, autentificarea este acceptata daca orice linie corespunzatoare are cheia corespunzatoare; fie una care corespunde exact, fie, daca serverul a prezentat un certificat pentru autentificare, cheia autoritaii de certificare care a semnat certificatul. Pentru ca o cheie sa fie de incredere ca autoritate de certificare, aceasta trebuie sa utilizeze marcajul "@cert-authority" descris mai sus. Fiierul de gazde cunoscute ofera, de asemenea, posibilitatea de a marca cheile ca fiind revocate, de exemplu atunci cand se tie ca cheia privata asociata a fost furata. Cheile revocate sunt specificate prin includerea marcajului "@revoked" la inceputul liniei cheii i nu sunt niciodata acceptate pentru autentificare sau ca autoritai de certificare, ci vor produce un avertisment din partea ssh(1) atunci cand sunt intalnite. Este permis (dar nu recomandat) sa existe mai multe linii sau chei de gazda diferite pentru aceleai nume. Acest lucru se va intampla in mod inevitabil atunci cand formele scurte ale numelor de gazda din domenii diferite sunt introduse in fiier. Este posibil ca fiierele sa conina informaii contradictorii; autentificarea este acceptata daca pot fi gasite informaii valide in oricare dintre fiiere. Reinei ca liniile din aceste fiiere sunt de obicei lungi de sute de caractere i cu sigurana nu dorii sa introducei cheile de gazda de mana. Mai degraba, generai-le printr-un script, ssh-keyscan(1) sau luand, de exemplu, /etc/ssh/ssh_host_rsa_key.pub i adaugand numele de gazda in faa. ssh-keygen(1) ofera, de asemenea, o editare automata de baza pentru ~/.ssh/known_hosts, inclusiv eliminarea gazdelor care corespund unui nume de gazda i convertirea tuturor numelor de gazda in reprezentarile lor de suma de control. Un exemplu de fiier ssh_known_hosts: # Comentarii permise la inceputul liniei cvs.example.net,192.0.2.10 ssh-rsa AAAA1234.....= # Un nume de gazda in format suma de control |1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa AAAA1234.....= # O cheie revocata @revoked * ssh-rsa AAAAB5W... # O cheie CA, acceptata pentru orice gazda din *.mydomain.com sau *.mydomain.org @cert-authority *.mydomain.org,*.mydomain.com ssh-rsa AAAAB5W... FIIERE ~/.hushlogin Acest fiier este utilizat pentru a suprima imprimarea ultimei autentificari i /etc/motd, daca sunt activate PrintLastLog i, respectiv, PrintMotd. Aceasta nu suprima afiarea anunului specificat de Banner. ~/.rhosts Acest fiier este utilizat pentru autentificarea bazata pe gazda (consultai ssh(1) pentru mai multe informaii). Pe unele maini, este posibil ca acest fiier sa trebuiasca sa poata fi citit de toata lumea daca directorul personal al utilizatorului este pe o partiie NFS, deoarece sshd il citete ca root. In plus, acest fiier trebuie sa fie deinut de utilizator i nu trebuie sa aiba permisiuni de scriere pentru nimeni altcineva. Permisiunea recomandata pentru majoritatea mainilor este de citire/scriere pentru utilizator i neaccesibila altor persoane. ~/.shosts Acest fiier este utilizat exact in acelai mod ca .rhosts, dar permite autentificarea bazata pe gazda fara a permite autentificarea cu rlogin/rsh. ~/.ssh/ Acest director este locaia implicita pentru toate informaiile de configurare i autentificare specifice utilizatorului. Nu exista nicio cerina generala de a pastra secret intregul coninut al acestui director, dar permisiunile recomandate sunt de citire/scriere/executare pentru utilizator i neaccesibil pentru alii. ~/.ssh/authorized_keys Listeaza cheile publice (ECDSA, Ed25519, RSA) care pot fi utilizate pentru conectarea ca utilizator. Formatul acestui fiier este descris mai sus. Coninutul fiierului nu este extrem de sensibil, dar permisiunile recomandate sunt de citire/scriere pentru utilizator i neaccesibile altor persoane. Daca acest fiier, directorul ~/.ssh sau directorul personal al utilizatorului pot fi scrise de ali utilizatori, fiierul poate fi modificat sau inlocuit de utilizatori neautorizai. In acest caz, sshd nu va permite utilizarea acestuia decat daca opiunea StrictModes a fost stabilita la "no". ~/.ssh/environment Acest fiier este citit in mediu la autentificare (daca exista). Acesta poate conine numai linii goale, linii de comentariu (care incep cu `#') i linii de atribuire de forma nume=valoare. Fiierul trebuie sa poata fi scris numai de catre utilizator; nu trebuie sa poata fi citit de nimeni altcineva. Procesarea mediului este dezactivata implicit i este controlata prin intermediul opiunii PermitUserEnvironment. ~/.ssh/known_hosts Conine o lista de chei de gazda pentru toate gazdele la care utilizatorul s-a conectat i care nu sunt deja in lista de chei de gazda cunoscute la nivel de sistem. Formatul acestui fiier este descris mai sus. Acest fiier ar trebui sa poata fi scris numai de catre root/proprietar i poate, dar nu este necesar, sa poata fi citit de toata lumea. ~/.ssh/rc Conine rutinele de iniializare care trebuie executate inainte ca directorul personal al utilizatorului sa devina accesibil. Acest fiier trebuie sa poata fi scris numai de catre utilizator i nu trebuie sa poata fi citit de nimeni altcineva. /etc/hosts.equiv Acest fiier este pentru autentificarea bazata pe gazda (a se vedea ssh(1)). Ar trebui sa poata fi scris numai de catre root. /etc/ssh/moduli Conine grupurile Diffie-Hellman utilizate pentru metoda de schimb de chei ,,Diffie-Hellman Group Exchange". Formatul fiierului este descris in moduli(5). Daca nu se gasesc grupuri utilizabile in acest fiier, atunci se vor utiliza grupurile interne fixe. /etc/motd A se vedea motd(5). /etc/nologin Daca acest fiier exista, sshd refuza sa permita oricarei persoane, cu excepia utilizatorului root, sa se conecteze. Coninutul fiierului este afiat oricarei persoane care incearca sa se conecteze, iar conexiunile non-root sunt refuzate. Fiierul trebuie sa poata fi citit de toata lumea. /etc/ssh/shosts.equiv Acest fiier este utilizat exact in acelai mod ca hosts.equiv, dar permite autentificarea pe baza de gazda fara a permite autentificarea cu rlogin/rsh. /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_key Aceste fiiere conin parile private ale cheilor de gazda. Aceste fiiere ar trebui sa fie deinute numai de root, sa poata fi citite numai de root i sa nu fie accesibile altor persoane. Reinei ca sshd nu pornete daca aceste fiiere sunt accesibile grupului/ lumii. /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_rsa_key.pub Aceste fiiere conin parile publice ale cheilor gazdei. Aceste fiiere ar trebui sa poata fi citite de toata lumea, dar sa poata fi scrise numai de catre root. Coninutul lor trebuie sa corespunda parilor private respective. Aceste fiiere nu sunt utilizate cu adevarat pentru nimic; ele sunt furnizate pentru confortul utilizatorului, astfel incat coninutul lor sa poata fi copiat in fiiere gazda cunoscute. Aceste fiiere sunt create utilizand ssh-keygen(1). /etc/ssh/ssh_known_hosts Lista la nivel de sistem a cheilor de gazda cunoscute. Acest fiier trebuie pregatit de administratorul sistemului pentru a conine cheile publice de gazda ale tuturor echipamentelor din organizaie. Formatul acestui fiier este descris mai sus. Acest fiier trebuie sa poata fi scris numai de catre root/proprietar i trebuie sa poata fi citit de toata lumea. /etc/ssh/sshd_config Conine date de configurare pentru sshd. Formatul fiierului i opiunile de configurare sunt descrise in sshd_config(5). /etc/ssh/sshrc Similar cu ~/.ssh/rc, acesta poate fi utilizat pentru a specifica iniializarile de conectare specifice mainii la nivel global. Acest fiier ar trebui sa poata fi scris numai de catre root i ar trebui sa poata fi citit de toata lumea. /usr/share/empty.sshd Directorul chroot(2) utilizat de sshd in timpul separarii privilegiilor in faza de pre-autentificare. Directorul nu trebuie sa conina niciun fiier i trebuie sa fie deinut de root i sa nu poata fi scris de grup sau de alii. /run/sshd.pid Conine ID-ul procesului sshd care asculta conexiunile (in cazul in care exista mai muli demoni care ruleaza concomitent pentru porturi diferite, acesta conine ID-ul procesului celui pornit ultima data). Coninutul acestui fiier nu este sensibil; el poate fi citit de toata lumea. CONSULTAI I scp(1), sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh-keyscan(1), chroot(2), login.conf(5), moduli(5), sshd_config(5), inetd(8), sftp-server(8) AUTORI OpenSSH este un derivat al versiunii originale i libere ssh 1.2.12 de Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt i Dug Song au eliminat multe erori, au adaugat caracteristici noi i au creat OpenSSH. Markus Friedl a contribuit la suportul pentru versiunile 1.5 i 2.0 ale protocolului SSH. Niels Provos i Markus Friedl au contribuit la suportul pentru separarea privilegiilor. TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3: https://www.gnu.org/licenses/gpl-3.0.html sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la translation-team-ro@lists.sourceforge.net Linux 6.18.6-arch1-1 $Mdocdate: 15 septembrie 2024 $ Linux 6.18.6-arch1-1