.\" -*- coding: UTF-8 -*- .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland .\" All rights reserved .\" .\" As far as I am concerned, the code I have written for this software .\" can be used freely for any purpose. Any derived versions of this .\" software must be clearly marked as such, and if the derived work is .\" incompatible with the protocol description in the RFC file, it must be .\" called by a name other than "ssh" or "Secure Shell". .\" .\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved. .\" Copyright (c) 1999 Aaron Campbell. All rights reserved. .\" Copyright (c) 1999 Theo de Raadt. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $OpenBSD: sshd.8,v 1.327 2024/09/15 01:19:56 djm Exp $ .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .Dd $Mdocdate: 15 septembrie 2024 $ .Dt SSHD 8 .Os .Sh NUME .Nm sshd .Nd Demonul OpenSSH .Sh SINOPSIS .Nm sshd .Bk -words .Op Fl 46DdeGiqTtV .Op Fl C Ar specificare-conectare .Op Fl c Ar fișier-certificat-gazdă .Op Fl E Ar fișier-jurnal .Op Fl f Ar fișier-configurare .Op Fl g Ar timp-de-grație-autentificare .Op Fl h Ar fișier-cheie-gazdă .Op Fl o Ar opțiune .Op Fl p Ar port .Op Fl u Ar lungime .Ek .Sh DESCRIERE .Nm sshd (Demonul OpenSSH) este programul demon pentru .Xr ssh 1 . Acesta oferă comunicații criptate sigure între două gazde „neîncrezătoare” printr-o rețea nesigură. .Pp .Nm sshd ascultă conexiunile de la clienți. În mod normal, este inițiat la pornire din .Pa /etc/rc . Acesta interconectează un nou demon pentru fiecare conexiune primită. Demonii bifurcați gestionează schimbul de chei, criptarea, autentificarea, executarea comenzilor și schimbul de date. .Pp .Nm sshd poate fi configurat folosind opțiuni din linia de comandă sau un fișier de configurare (implicit .Xr sshd_config 5 ) ; opțiunile din linia de comandă prevalează asupra valorilor specificate în fișierul de configurare. .Nm sshd își recitește fișierul de configurare atunci când primește un semnal de întrerupere, .Dv SIGHUP , executându-se cu numele și opțiunile cu care a fost pornit, de exemplu \& .Pa /usr/sbin/sshd . .Pp Opțiunile sunt următoarele: .Bl -tag -width Ds .It Fl 4 Forțează .Nm sshd să utilizeze numai adrese IPv4. .It Fl 6 Forțează .Nm sshd să utilizeze numai adrese IPv6. .It Fl C Ar specificare-conectare Specifică parametrii de conectare care urmează să fie utilizați pentru modul de testare extinsă .Fl T . Dacă sunt furnizate, orice directive .Cm Match din fișierul de configurare care s-ar aplica sunt aplicate înainte ca configurația să fie scrisă la ieșirea standard. Parametrii conexiunii sunt furnizați ca perechi cuvânt cheie=valoare și pot fi furnizați în orice ordine, fie cu mai multe opțiuni .Fl C , fie ca o listă separată prin virgule. Cuvintele-cheie sunt .Dq addr , .Dq user , .Dq host , .Dq laddr , .Dq lport și .Dq rdomain și corespund adresei sursă, utilizatorului, numelui gazdei sursă rezolvate, adresei locale, numărului portului local și, respectiv, domeniului de rutare. În plus, fanionul .Dq invalid-user (care nu are un argument de valoare) poate fi specificat pentru a simula o conexiune de la un nume de utilizator nerecunoscut. .It Fl c Ar fișier-certificat-gazdă Specifică o rută către un fișier de certificat pentru a identifica .Nm sshd în timpul schimbului de chei. Fișierul de certificat trebuie să corespundă unui fișier de cheie gazdă specificat cu ajutorul opțiunii .Fl h sau al directivei de configurare .Cm HostKey . .It Fl D Când este specificată această opțiune, .Nm sshd nu se va detașa și nu va deveni un demon. Acest lucru permite monitorizarea ușoară a .Nm sshd . .It Fl d Modul de depanare. Serverul trimite ieșirea de depanare detaliată la ieșirea de eroare standard și nu se pune în fundal. De asemenea, serverul nu va executa .Xr fork 2 și va procesa o singură conexiune. Această opțiune este destinată numai pentru depanare pentru server. Opțiunile multiple .Fl d măresc nivelul de depanare. Maximul este 3. .It Fl E Ar fișier-jurnal Adaugă jurnalele de depanare la .Ar fișierul- jurnal în loc de jurnalul de sistem. .It Fl e Scrie jurnalele de depanare la ieșirea din eroare standard în loc de jurnalul de sistem. .It Fl f Ar fișier-configurare Specifică numele fișierului de configurare. Valoarea implicită este .Pa /etc/ssh/sshd_config . .Nm sshd refuză să pornească dacă nu există niciun fișier de configurare. .It Fl G Analizează și imprimă fișierul de configurare. Verifică validitatea fișierului de configurare, emite configurația efectivă la ieșirea standard și apoi iese. Opțional, regulile .Cm Match pot fi aplicate prin specificarea parametrilor de conexiune folosind una sau mai multe opțiuni .Fl C . .It Fl g Ar timp-de-grație-autentificare Acordă timp de grație clienților pentru a se autentifica (implicit 120 de secunde). Dacă clientul nu reușește să autentifice utilizatorul în acest număr de secunde, serverul se deconectează și iese. O valoare de zero indică lipsa unei limite. .It Fl h Ar fișier-cheie-gazdă Specifică un fișier din care este citită o cheie de gazdă. Această opțiune trebuie furnizată dacă .Nm sshd nu este rulat ca root (deoarece fișierele de chei de gazdă normale nu pot fi citite decât de root). Valoarea implicită este .Pa /etc/ssh/ssh_host_ecdsa_key , .Pa /etc/ssh/ssh_host_ed25519_key și .Pa /etc/ssh/ssh_host_rsa_key . Este posibil să aveți mai multe fișiere de chei de gazdă pentru diferiți algoritmi de chei de gazdă. .It Fl i Specifică faptul că .Nm sshd este rulat din .Xr inetd 8 . .It Fl o Ar opțiune Poate fi utilizată pentru a oferi opțiuni în formatul utilizat în fișierul de configurare. Acest lucru este util pentru specificarea opțiunilor pentru care nu există un indicator de linie de comandă separat. Pentru detalii complete privind opțiunile și valorile acestora, consultați .Xr sshd_config 5 . .It Fl p Ar port Specifică portul pe care serverul ascultă conexiunile (implicit 22). Sunt permise mai multe opțiuni de port. Porturile specificate în fișierul de configurare cu opțiunea .Cm Port sunt ignorate atunci când este specificat un port în linia de comandă. Porturile specificate cu ajutorul opțiunii .Cm ListenAddress prevalează asupra porturilor din linia de comandă. .It Fl q Modul silențios. Nimic nu este trimis în jurnalul de sistem. În mod normal, începutul, autentificarea și încheierea fiecărei conexiuni sunt înregistrate. .It Fl T Modul de testare extinsă. Verifică validitatea fișierului de configurare, emite configurația efectivă la ieșirea standard și apoi iese. Opțional, regulile .Cm Match pot fi aplicate prin specificarea parametrilor conexiunii folosind una sau mai multe opțiuni .Fl C . Aceasta este similară cu opțiunea .Fl G , dar include testarea suplimentară efectuată de opțiunea .Fl t . .It Fl t Modul de testare. Verifică doar validitatea fișierului de configurare și corectitudinea cheilor. Acest lucru este util pentru actualizarea fiabilă a .Nm sshd , deoarece opțiunile de configurare se pot schimba. .It Fl u Ar lungime Această opțiune este utilizată pentru a specifica dimensiunea câmpului din structura .Vt utmp care conține numele gazdei la distanță. Dacă numele de gazdă rezolvat este mai lung decât .Ar len , se va utiliza în schimb valoarea zecimală punctată.(XXX.XXX.XXX.XXX) Acest lucru permite gazdelor cu nume de gazdă foarte lungi care depășesc acest câmp să fie totuși identificate în mod unic. Specificarea .Fl u0 indică faptul că în fișierul .Pa utmp ar trebui introduse numai adrese zecimale punctate. .Fl u0 poate fi utilizat și pentru a împiedica .Nm sshd să efectueze cereri DNS, cu excepția cazului în care mecanismul de autentificare sau configurația o solicită. Mecanismele de autentificare care pot necesita DNS includ .Cm HostbasedAuthentication și utilizarea unei opțiuni .Cm from="listă-modele" într-un fișier cheie. Opțiunile de configurare care necesită DNS includ utilizarea unui model UTILIZATOR@GAZDĂ în .Cm AllowUsers sau .Cm DenyUsers . .It Fl V Afișează numărul versiunii, și iese. .El .Sh AUTENTIFICARE Demonul SSH OpenSSH acceptă numai protocolul SSH 2. Fiecare gazdă are o cheie specifică gazdei, utilizată pentru identificarea gazdei. Ori de câte ori un client se conectează, demonul răspunde cu cheia sa publică de gazdă. Clientul compară cheia gazdei cu propria sa bază de date pentru a verifica dacă 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 partajată. Restul sesiunii este criptat utilizând un cifru simetric. Clientul selectează algoritmul de criptare de utilizat dintre cele oferite de server. În plus, integritatea sesiunii este asigurată printr-un cod criptografic de autentificare a mesajului („Message Authentication Code”: MAC). .Pp În final, serverul și clientul intră într-un dialog de autentificare. Clientul încearcă să se autentifice folosind autentificarea bazată pe gazdă, autentificarea prin cheie publică, autentificarea prin provocare-răspuns sau autentificarea prin parolă. .Pp Indiferent de tipul de autentificare, contul este verificat pentru a se asigura că este accesibil. Un cont nu este accesibil dacă este blocat, listat în .Cm DenyUsers sau grupul său este listat în .Cm DenyGroups \&. Definiția unui cont blocat depinde de sistem. Unele platforme au propria bază de date a conturilor (de exemplu AIX), iar altele modifică câmpul passwd ( .Ql \&*LK\&* pe Solaris și UnixWare, .Ql \&* pe HP-UX, conținând .Ql Nologin pe Tru64, un .Ql \&*LOCKED\&* pe FreeBSD și un .Ql \&! pe majoritatea Linux-urilor). Dacă există o cerință de a dezactiva autentificarea prin parolă pentru cont, permițând în același timp utilizarea cheii publice, atunci câmpul passwd trebuie să fie definit la altceva decât aceste valori (de exemplu .Ql NP sau .Ql \&*NP\&* ) . .Pp Dacă clientul se autentifică cu succes, se deschide un dialog pentru pregătirea sesiunii. În acest moment, clientul poate solicita lucruri precum alocarea unui pseudo-tty, redirecționarea conexiunilor X11, redirecționarea conexiunilor TCP sau redirecționarea conexiunii agentului de autentificare pe canalul securizat. .Pp După aceasta, clientul solicită fie un shell interactiv, fie executarea unei comenzi non-interactive, pe care .Nm sshd o va executa prin intermediul shell-ului utilizatorului folosind opțiunea .Fl c . Cele două părți intră apoi în modul sesiune. În acest mod, fiecare parte poate trimite date în orice moment, iar aceste date sunt transmise către/de la shell sau comandă pe partea serverului și de la terminalul utilizatorului pe partea clientului. .Pp Atunci când programul utilizatorului se încheie și toate conexiunile X11 transmise și alte conexiuni au fost închise, serverul trimite starea de ieșire a comenzii către client și ambele părți ies. .Sh PROCESUL DE AUTENTIFICARE Atunci când un utilizator se autentifică cu succes, .Nm sshd face următoarele: .Bl -enum -offset indent .It Dacă autentificarea se face pe un tty și nu a fost specificată nicio comandă, imprimă ora ultimei autentificări și .Pa /etc/motd (cu excepția cazului în care este împiedicată în fișierul de configurare sau prin .Pa ~/.hushlogin ; consultați secțiunea .Sx FILES ) . .It Dacă autentificarea se face pe un tty, înregistrează ora autentificării. .It Verifică .Pa /etc/nologin ; dacă există, imprimă conținutul și iese (dacă utilizatorul nu este root). .It Modificări pentru a rula cu privilegii normale de utilizator. .It Definește un mediu bazic. .It Citește fișierul .Pa ~/.ssh/environment , dacă există, iar utilizatorilor li se permite să își schimbe mediul. Consultați opțiunea .Cm PermitUserEnvironment din .Xr sshd_config 5 . .It Se plasează în directorul personal al utilizatorului. .It Dacă .Pa ~/.ssh/rc există și opțiunea .Xr sshd_config 5 .Cm PermitUserRC este definită, îl execută; altfel, dacă .Pa /etc/ssh/sshrc există, îl execută; altfel, execută .Xr xauth 1 . Fișierele .Dq rc primesc protocolul de autentificare X11 și cookie-ul în intrarea standard. A se vedea .Sx SSHRC , mai jos. .It Rulează shell-ul sau comanda utilizatorului. Toate comenzile sunt executate în shell-ul de conectare al utilizatorului, astfel cum este specificat în baza de date cu parole a sistemului. .El .Sh SSHRC Dacă fișierul .Pa ~/.ssh/rc există, .Xr sh 1 îl execută după citirea fișierelor de mediu, dar înainte de a porni shell-ul sau comanda utilizatorului. Acesta nu trebuie să producă niciun rezultat la ieșirea standard (stdout); în schimb, trebuie utilizată ieșirea de erori standard (stderr). Dacă este utilizată redirecționarea X11, acesta va primi perechea „proto cookie” în intrarea sa standard (și .Ev DISPLAY în mediul său). Scriptul trebuie să apeleze .Xr xauth 1 deoarece .Nm sshd nu va rula xauth automat pentru a adăuga cookie-uri X11. .Pp Scopul principal al acestui fișier este de a rula orice rutine de inițializare care pot fi necesare înainte ca directorul personal al utilizatorului să devină accesibil; AFS este un exemplu particular al unui astfel de mediu. .Pp Acest fișier va conține probabil un cod de inițializare urmat de ceva similar cu: .Bd -literal -offset 3n 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 .Ed .Pp Dacă acest fișier nu există, se execută .Pa /etc/ssh/sshrc , iar dacă nici acesta nu există, se utilizează xauth pentru a adăuga cookie-ul. .Sh FORMATUL FIȘIERULUI AUTHORIZED_KEYS .Cm AuthorizedKeysFile specifică fișierele care conțin cheile publice pentru autentificarea cu cheie publică; dacă această opțiune nu este specificată, valoarea implicită este .Pa ~/.ssh/authorized_keys și .Pa ~/.ssh/authorized_keys2 . Fiecare linie a fișierului conține o cheie (liniile goale și liniile care încep cu un .Ql # sunt ignorate ca comentarii). Cheile publice sunt formate din următoarele câmpuri separate prin spații: opțiuni, tipul cheii, cheia codificată în baza64, comentariu. Câmpul opțiuni este opțional. Tipurile de chei acceptate sunt: .Pp .Bl -item -compact -offset indent .It sk-ecdsa-sha2-nistp256@openssh.com .It ecdsa-sha2-nistp256 .It ecdsa-sha2-nistp384 .It ecdsa-sha2-nistp521 .It sk-ssh-ed25519@openssh.com .It ssh-ed25519 .It ssh-rsa .El .Pp Câmpul de comentarii nu este utilizat pentru nimic (dar poate fi convenabil pentru utilizator să identifice cheia). .Pp Rețineți că liniile din acest fișier pot fi lungi de câteva sute de octeți (din cauza dimensiunii codificării cheii publice) până la o limită de 8 kiloocteți, ceea ce permite chei RSA de până la 16 kilobiți. Nu doriți să le introduceți; în schimb, copiați fișierul .Pa id_ecdsa.pub , .Pa id_ecdsa_sk.pub , .Pa id_ed25519.pub , .Pa id_ed25519_sk.pub sau .Pa id_rsa.pub și editați-l. .Pp .Nm sshd impune o dimensiune minimă a modulului cheii RSA de 1024 biți. .Pp Opțiunile (dacă sunt prezente) constau în specificații de opțiuni separate prin virgule. Nu sunt permise spațiile, cu excepția celor între ghilimele duble. Sunt acceptate următoarele specificații ale opțiunilor (a se observa că cuvintele cheie ale opțiunilor nu țin cont de majuscule și minuscule): .Bl -tag -width Ds .It Cm agent-forwarding Activează redirecționarea agentului de autentificare dezactivată anterior de opțiunea .Cm restrict . .It Cm cert-authority Specifică faptul că cheia listată este o autoritate de certificare (CA) de încredere pentru validarea certificatelor semnate pentru autentificarea utilizatorului. .Pp Certificatele pot codifica restricții de acces similare cu aceste opțiuni ale cheii. În cazul în care sunt prezente atât restricții ale certificatului, cât și opțiuni ale cheii, se aplică cea mai restrictivă combinație dintre cele două. .It Cm command="comanda" Specifică faptul că comanda este executată ori de câte ori această cheie este utilizată pentru autentificare. Comanda furnizată de utilizator (dacă există) este ignorată. Comanda este executată pe un pty dacă clientul solicită un pty; în caz contrar, este executată fără un tty. Dacă este necesar un canal curat pe 8 biți, nu trebuie solicitat un pty sau trebuie specificat .Cm no-pty . Un citat poate fi inclus în comandă prin citarea sa cu o bară inversă. .Pp Această opțiune poate fi utilă pentru a restricționa anumite chei publice pentru a efectua doar o anumită operație. Un exemplu ar putea fi o cheie care permite salvări de la distanță, dar nimic altceva. Rețineți că clientul poate specifica redirecționarea TCP și/sau X11, cu excepția cazului în care acestea sunt interzise în mod explicit, de exemplu folosind opțiunea de cheie .Cm restrict . .Pp Comanda furnizată inițial de client este disponibilă în variabila de mediu .Ev SSH_ORIGINAL_COMMAND . Rețineți că această opțiune se aplică executării shell-ului, comenzii sau subsistemului. De asemenea, rețineți că această comandă poate fi înlocuită de o directivă .Xr sshd_config 5 .Cm ForceCommand . .Pp Dacă este specificată o comandă și o comandă forțată este încorporată într-un certificat utilizat pentru autentificare, atunci certificatul va fi acceptat numai dacă cele două comenzi sunt identice. .It Cm environment="NUME=valoare" Specifică faptul că șirul de caractere trebuie adăugat mediului atunci când vă conectați utilizând această cheie. Variabilele de mediu definite în acest mod prevalează asupra altor valori de mediu implicite. Sunt permise opțiuni multiple de acest tip. Procesarea mediului este dezactivată în mod implicit și este controlată prin intermediul opțiunii .Cm PermitUserEnvironment . .It Cm expiry-time="specificare-timp" Specifică un interval de timp după care cheia nu va fi acceptată. Ora poate fi specificată ca o dată AAAALLZZ[Z] sau ca o oră AAAALLZZHHMM[SS][Z]. Datele și orele vor fi interpretate în fusul orar al sistemului, cu excepția cazului în care sunt sufixate de un caracter Z, caz în care vor fi interpretate în fusul orar UTC. .It Cm from="listă-modele" Specifică faptul că, pe lângă autentificarea prin cheie publică, fie numele canonic al gazdei de la distanță, fie adresa IP a acesteia trebuie să fie prezente în lista de modele separate prin virgule. Consultați MODELE în .Xr ssh_config 5 pentru mai multe informații despre modele. .Pp În plus față de potrivirea de tip caracter joker care poate fi aplicată numelor de gazdă sau adreselor, o secțiune .Cm from poate potrivi adresele IP utilizând notația CIDR adresă/masklen. .Pp Scopul acestei opțiuni este de a spori opțional securitatea: autentificarea cu cheie publică în sine nu are încredere în rețea sau în serverele de nume sau în nimic altceva (în afară de cheie); cu toate acestea, dacă cineva fură cumva cheia, cheia permite unui intrus să se conecteze de oriunde din lume. Această opțiune suplimentară face ca utilizarea unei chei furate să fie mai dificilă (serverele de nume și/sau router-ele ar trebui să fie compromise în plus față de cheie). .It Cm no-agent-forwarding Interzice redirecționarea agentului de autentificare atunci când această cheie este utilizată pentru autentificare. .It Cm no-port-forwarding Interzice redirecționarea TCP atunci când această cheie este utilizată pentru autentificare. Orice solicitare de redirecționare a portului de către client va returna o eroare. Aceasta poate fi utilizată, de exemplu, în combinație cu opțiunea .Cm command . .It Cm no-pty Împiedică alocarea tty (o cerere de alocare a unui pty va eșua). .It Cm no-user-rc Dezactivează executarea .Pa ~/.ssh/rc . .It Cm no-X11-forwarding Interzice redirecționarea X11 atunci când această cheie este utilizată pentru autentificare. Orice solicitare de redirecționare X11 din partea clientului va returna o eroare. .It Cm permitlisten="[gazdă:]port" Limitează redirecționarea porturilor la distanță cu opțiunea .Xr ssh 1 .Fl R astfel încât să poată asculta numai pe gazda (opțional) și portul specificate. Adresele IPv6 pot fi specificate prin includerea adresei între paranteze drepte. Pot fi aplicate mai multe opțiuni .Cm permitlisten separate prin virgule. Numele de gazdă pot include caractere joker, astfel cum sunt descrise în secțiunea MODELE din .Xr ssh_config 5 . O specificație de port .Cm * se potrivește oricărui port. Rețineți că opțiunea .Cm GatewayPorts poate restricționa și mai mult adresele de ascultare. Rețineți că .Xr ssh 1 va trimite un nume de gazdă .Dq localhost dacă nu a fost specificată o gazdă de ascultare atunci când a fost solicitată redirecționarea și că acest nume este tratat diferit față de adresele explicite de gazdă locală .Dq 127.0.0.1 și .Dq ::1 . .It Cm permitopen="gazdă:port" Limitează redirecționarea porturilor locale cu opțiunea .Xr ssh 1 .Fl L astfel încât să se poată conecta numai la gazda și portul specificate. Adresele IPv6 pot fi specificate prin includerea adresei între paranteze drepte. Pot fi aplicate mai multe opțiuni .Cm permitopen separate prin virgule. Nu se efectuează nicio potrivire de model sau căutare de nume pe numele de gazdă specificate, acestea trebuie să fie nume de gazdă și/sau adrese literale. O specificație de port .Cm * se potrivește oricărui port. .It Cm port-forwarding Activează redirecționarea porturilor dezactivată anterior de opțiunea .Cm restrict . .It Cm principals="principale" Pe o linie .Cm cert-authority , specifică principalii „principals” permise pentru autentificarea certificatului sub forma unei liste separate prin virgule. Cel puțin un nume din listă trebuie să apară în lista de principali a certificatului pentru ca certificatul să fie acceptat. Această opțiune este ignorată pentru cheile care nu sunt marcate ca semnatari de certificate de încredere utilizând opțiunea .Cm cert-authority . .It Cm pty Permite alocarea tty dezactivată anterior de opțiunea .Cm restrict . .It Cm no-touch-required Nu solicită demonstrarea prezenței utilizatorului pentru semnăturile realizate utilizând această cheie. Această opțiune are sens numai pentru algoritmii de autentificare FIDO .Cm ecdsa-sk și .Cm ed25519-sk . .It Cm verify-required Solicită ca semnăturile realizate utilizând această cheie să ateste că au verificat utilizatorul, de exemplu prin intermediul unui cod PIN. Această opțiune are sens numai pentru algoritmii de autentificare FIDO .Cm ecdsa-sk și .Cm ed25519-sk . .It Cm restrict Activează toate restricțiile, adică dezactivează redirecționarea porturilor, agenților și X11, precum și dezactivarea alocării PTY și a executării .Pa ~/.ssh/rc . Dacă în viitor vor fi adăugate capacități de restricționare la fișierele authorized_keys, acestea vor fi incluse în acest set. .It Cm tunnel="n" Forțează un dispozitiv .Xr tun 4 pe server. Fără această opțiune, următorul dispozitiv disponibil va fi utilizat dacă clientul solicită un tunel. .It Cm user-rc Activează executarea .Pa ~/.ssh/rc dezactivată anterior de opțiunea .Cm restrict . .It Cm X11-forwarding Permite redirecționarea X11 dezactivată anterior de opțiunea .Cm restrict . .El .Pp Un exemplu de fișier authorized_keys: .Bd -literal -offset 3n # Comentariile sunt permise la începutul liniei. Sunt permise liniile goale. # Cheie simplă, fără restricții ssh-rsa ... # Comandă forțată, dezactivează PTY și toate redirecționările restrict,command="dump /home" ssh-rsa ... # Restricționarea destinațiilor de redirecționare ssh -L permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa ... # Restricționarea ascultătorilor ssh -R forwarding permitlisten="localhost:8080",permitlisten="[::1]:22000" ssh-rsa ... # Configurație pentru redirecționarea prin tunel tunnel="0",command="sh /etc/netstart tun0" ssh-rsa ... # Anularea restricției pentru a permite alocarea PTY restrict,pty,command="nethack" ssh-rsa ... # Permite utilizarea cheii FIDO fără a fi necesară interacționarea cu utilizatorul no-touch-required sk-ecdsa-sha2-nistp256@openssh.com ... # Solicită verificarea utilizatorului (de exemplu, PIN sau biometric) # pentru cheia FIDO verify-required sk-ecdsa-sha2-nistp256@openssh.com ... # Cheie CA de încredere, permite FIDO fără interacționarea cu utilizatorul dacă # este solicitat în certificat cert-authority,no-touch-required,principals="user_a" ssh-rsa ... .Ed .Sh FORMATUL FIȘIERULUI SSH_KNOWN_HOSTS Fișierele .Pa /etc/ssh/ssh_known_hosts și .Pa ~/.ssh/known_hosts conțin cheile publice ale gazdelor pentru toate gazdele cunoscute. Fișierul global trebuie pregătit de administrator (opțional), iar fișierul per utilizator este menținut automat: ori de câte ori utilizatorul se conectează la o gazdă necunoscută, cheia acesteia este adăugată la fișierul per utilizator. .Pp Fiecare linie din aceste fișiere conține următoarele câmpuri: marcaj (opțional), nume de gazdă, tip de cheie, cheie codificată în baza 64, comentariu. Câmpurile sunt separate prin spații. .Pp Marcajul este opțional, dar dacă este prezent, atunci trebuie să fie unul dintre .Dq @cert-authority , pentru a indica faptul că linia conține o cheie de autoritate de certificare (CA), sau .Dq @revoked , pentru a indica faptul că cheia conținută pe linie este revocată și nu trebuie acceptată niciodată. Pe o linie de cheie trebuie utilizat un singur marcaj. .Pp Numele de gazde este o listă de modele separate prin virgule .Pf ( Ql * și .Ql \&? acționează ca jokeri); fiecare model în parte este comparat cu numele de gazdă. Atunci când .Nm sshd autentifică un client, cum ar fi atunci când utilizează .Cm HostbasedAuthentication , acesta va fi numele canonic al gazdei clientului. Atunci când .Xr ssh 1 autentifică un server, acesta va fi numele de gazdă dat de utilizator, valoarea .Xr ssh 1 .Cm HostkeyAlias dacă a fost specificată, sau numele de gazdă canonic al serverului dacă a fost utilizată opțiunea .Xr ssh 1 .Cm CanonicalizeHostname . .Pp Un model poate fi, de asemenea, precedat de .Ql \&! pentru a indica negarea: dacă numele de gazdă se potrivește cu un model negat, acesta nu este acceptat (de linia respectivă) chiar dacă se potrivește cu un alt model de pe linie. Un nume de gazdă sau o adresă poate fi inclusă opțional între parantezele .Ql \&[ și .Ql \&] , urmate apoi de .Ql \&: și un număr de port nestandard. .Pp Alternativ, numele de gazde pot fi stocate într-o format de sumă de control care ascunde numele de gazde și adresele în cazul în care conținutul fișierului ar fi divulgat. Numele de gazde în format de sumă de control încep cu un caracter .Ql | . Un singur nume de gazdă în format de sumă de control poate apărea pe o singură linie și nu poate fi aplicat niciunul dintre operatorii de negare sau de caractere joker de mai sus. .Pp Tipul de cheie și cheia codificată în baza64 sunt preluate direct din cheia gazdei; acestea pot fi obținute, de exemplu, din .Pa /etc/ssh/ssh_host_rsa_key.pub . Câmpul de comentariu opțional continuă până la sfârșitul liniei și nu este utilizat. .Pp Liniile care încep cu .Ql # și liniile goale sunt ignorate ca comentarii. .Pp Atunci când se efectuează autentificarea gazdei, autentificarea este acceptată dacă orice linie corespunzătoare are cheia corespunzătoare; fie una care corespunde exact, fie, dacă serverul a prezentat un certificat pentru autentificare, cheia autorității de certificare care a semnat certificatul. Pentru ca o cheie să fie de încredere ca autoritate de certificare, aceasta trebuie să utilizeze marcajul .Dq @cert-authority descris mai sus. .Pp Fișierul de gazde cunoscute oferă, de asemenea, posibilitatea de a marca cheile ca fiind revocate, de exemplu atunci când se știe că cheia privată asociată a fost furată. Cheile revocate sunt specificate prin includerea marcajului .Dq @revoked la începutul liniei cheii și nu sunt niciodată acceptate pentru autentificare sau ca autorități de certificare, ci vor produce un avertisment din partea .Xr ssh 1 atunci când sunt întâlnite. .Pp Este permis (dar nu recomandat) să existe mai multe linii sau chei de gazdă diferite pentru aceleași nume. Acest lucru se va întâmpla în mod inevitabil atunci când formele scurte ale numelor de gazdă din domenii diferite sunt introduse în fișier. Este posibil ca fișierele să conțină informații contradictorii; autentificarea este acceptată dacă pot fi găsite informații valide în oricare dintre fișiere. .Pp Rețineți că liniile din aceste fișiere sunt de obicei lungi de sute de caractere și cu siguranță nu doriți să introduceți cheile de gazdă de mână. Mai degrabă, generați-le printr-un script, .Xr ssh-keyscan 1 sau luând, de exemplu, .Pa /etc/ssh/ssh_host_rsa_key.pub și adăugând numele de gazdă în față. .Xr ssh-keygen 1 oferă, de asemenea, o editare automată de bază pentru .Pa ~/.ssh/known_hosts , inclusiv eliminarea gazdelor care corespund unui nume de gazdă și convertirea tuturor numelor de gazdă în reprezentările lor de sumă de control. .Pp Un exemplu de fișier ssh_known_hosts: .Bd -literal -offset 3n # Comentarii permise la începutul liniei cvs.example.net,192.0.2.10 ssh-rsa AAAA1234.....= # Un nume de gazdă în format sumă de control |1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa AAAA1234.....= # O cheie revocată @revoked * ssh-rsa AAAAB5W... # O cheie CA, acceptată pentru orice gazdă din *.mydomain.com sau *.mydomain.org @cert-authority *.mydomain.org,*.mydomain.com ssh-rsa AAAAB5W... .Ed .Sh FIȘIERE .Bl -tag -width Ds -compact .It Pa ~/.hushlogin Acest fișier este utilizat pentru a suprima imprimarea ultimei autentificări și .Pa /etc/motd , dacă sunt activate .Cm PrintLastLog și, respectiv, .Cm PrintMotd . Aceasta nu suprimă afișarea anunțului specificat de .Cm Banner . .Pp .It Pa ~/.rhosts Acest fișier este utilizat pentru autentificarea bazată pe gazdă (consultați .Xr ssh 1 pentru mai multe informații). Pe unele mașini, este posibil ca acest fișier să trebuiască să poată fi citit de toată lumea dacă directorul personal al utilizatorului este pe o partiție NFS, deoarece .Nm sshd îl citește ca root. În plus, acest fișier trebuie să fie deținut de utilizator și nu trebuie să aibă permisiuni de scriere pentru nimeni altcineva. Permisiunea recomandată pentru majoritatea mașinilor este de citire/scriere pentru utilizator și neaccesibilă altor persoane. .Pp .It Pa ~/.shosts Acest fișier este utilizat exact în același mod ca .Pa .rhosts , dar permite autentificarea bazată pe gazdă fără a permite autentificarea cu rlogin/rsh. .Pp .It Pa ~/.ssh/ Acest director este locația implicită pentru toate informațiile de configurare și autentificare specifice utilizatorului. Nu există nicio cerință generală de a păstra secret întregul conținut al acestui director, dar permisiunile recomandate sunt de citire/scriere/executare pentru utilizator și neaccesibil pentru alții. .Pp .It Pa ~/.ssh/authorized_keys Listează cheile publice (ECDSA, Ed25519, RSA) care pot fi utilizate pentru conectarea ca utilizator. Formatul acestui fișier este descris mai sus. Conținutul fișierului nu este extrem de sensibil, dar permisiunile recomandate sunt de citire/scriere pentru utilizator și neaccesibile altor persoane. .Pp Dacă acest fișier, directorul .Pa ~/.ssh sau directorul personal al utilizatorului pot fi scrise de alți utilizatori, fișierul poate fi modificat sau înlocuit de utilizatori neautorizați. În acest caz, .Nm sshd nu va permite utilizarea acestuia decât dacă opțiunea .Cm StrictModes a fost stabilită la .Dq no . .Pp .It Pa ~/.ssh/environment Acest fișier este citit în mediu la autentificare (dacă există). Acesta poate conține numai linii goale, linii de comentariu (care încep cu .Ql # ) și linii de atribuire de forma nume=valoare. Fișierul trebuie să poată fi scris numai de către utilizator; nu trebuie să poată fi citit de nimeni altcineva. Procesarea mediului este dezactivată implicit și este controlată prin intermediul opțiunii .Cm PermitUserEnvironment . .Pp .It Pa ~/.ssh/known_hosts Conține o listă de chei de gazdă pentru toate gazdele la care utilizatorul s-a conectat și care nu sunt deja în lista de chei de gazdă cunoscute la nivel de sistem. Formatul acestui fișier este descris mai sus. Acest fișier ar trebui să poată fi scris numai de către root/proprietar și poate, dar nu este necesar, să poată fi citit de toată lumea. .Pp .It Pa ~/.ssh/rc Conține rutinele de inițializare care trebuie executate înainte ca directorul personal al utilizatorului să devină accesibil. Acest fișier trebuie să poată fi scris numai de către utilizator și nu trebuie să poată fi citit de nimeni altcineva. .Pp .It Pa /etc/hosts.equiv Acest fișier este pentru autentificarea bazată pe gazdă (a se vedea .Xr ssh 1 ) . Ar trebui să poată fi scris numai de către root. .Pp .It Pa /etc/ssh/moduli Conține grupurile Diffie-Hellman utilizate pentru metoda de schimb de chei „Diffie-Hellman Group Exchange”. Formatul fișierului este descris în .Xr moduli 5 . Dacă nu se găsesc grupuri utilizabile în acest fișier, atunci se vor utiliza grupurile interne fixe. .Pp .It Pa /etc/motd A se vedea .Xr motd 5 . .Pp .It Pa /etc/nologin Dacă acest fișier există, .Nm sshd refuză să permită oricărei persoane, cu excepția utilizatorului root, să se conecteze. Conținutul fișierului este afișat oricărei persoane care încearcă să se conecteze, iar conexiunile non-root sunt refuzate. Fișierul trebuie să poată fi citit de toată lumea. .Pp .It Pa /etc/ssh/shosts.equiv Acest fișier este utilizat exact în același mod ca .Pa hosts.equiv , dar permite autentificarea pe bază de gazdă fără a permite autentificarea cu rlogin/rsh. .Pp .It Pa /etc/ssh/ssh_host_ecdsa_key .It Pa /etc/ssh/ssh_host_ed25519_key .It Pa /etc/ssh/ssh_host_rsa_key Aceste fișiere conțin părțile private ale cheilor de gazdă. Aceste fișiere ar trebui să fie deținute numai de root, să poată fi citite numai de root și să nu fie accesibile altor persoane. Rețineți că .Nm sshd nu pornește dacă aceste fișiere sunt accesibile grupului/ lumii. .Pp .It Pa /etc/ssh/ssh_host_ecdsa_key.pub .It Pa /etc/ssh/ssh_host_ed25519_key.pub .It Pa /etc/ssh/ssh_host_rsa_key.pub Aceste fișiere conțin părțile publice ale cheilor gazdei. Aceste fișiere ar trebui să poată fi citite de toată lumea, dar să poată fi scrise numai de către root. Conținutul lor trebuie să corespundă părților private respective. Aceste fișiere nu sunt utilizate cu adevărat pentru nimic; ele sunt furnizate pentru confortul utilizatorului, astfel încât conținutul lor să poată fi copiat în fișiere gazdă cunoscute. Aceste fișiere sunt create utilizând .Xr ssh-keygen 1 . .Pp .It Pa /etc/ssh/ssh_known_hosts Lista la nivel de sistem a cheilor de gazdă cunoscute. Acest fișier trebuie pregătit de administratorul sistemului pentru a conține cheile publice de gazdă ale tuturor echipamentelor din organizație. Formatul acestui fișier este descris mai sus. Acest fișier trebuie să poată fi scris numai de către root/proprietar și trebuie să poată fi citit de toată lumea. .Pp .It Pa /etc/ssh/sshd_config Conține date de configurare pentru .Nm sshd . Formatul fișierului și opțiunile de configurare sunt descrise în .Xr sshd_config 5 . .Pp .It Pa /etc/ssh/sshrc Similar cu .Pa ~/.ssh/rc , acesta poate fi utilizat pentru a specifica inițializările de conectare specifice mașinii la nivel global. Acest fișier ar trebui să poată fi scris numai de către root și ar trebui să poată fi citit de toată lumea. .Pp .It Pa /usr/share/empty.sshd Directorul .Xr chroot 2 utilizat de .Nm sshd în timpul separării privilegiilor în faza de pre-autentificare. Directorul nu trebuie să conțină niciun fișier și trebuie să fie deținut de root și să nu poată fi scris de grup sau de alții. .Pp .It Pa /run/sshd.pid Conține ID-ul procesului .Nm sshd care ascultă conexiunile (în cazul în care există mai mulți demoni care rulează concomitent pentru porturi diferite, acesta conține ID-ul procesului celui pornit ultima dată). Conținutul acestui fișier nu este sensibil; el poate fi citit de toată lumea. .El .Sh CONSULTAȚI ȘI .Xr scp 1 , .Xr sftp 1 , .Xr ssh 1 , .Xr ssh-add 1 , .Xr ssh-agent 1 , .Xr ssh-keygen 1 , .Xr ssh-keyscan 1 , .Xr chroot 2 , .Xr login.conf 5 , .Xr moduli 5 , .Xr sshd_config 5 , .Xr inetd 8 , .Xr sftp-server 8 .Sh 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 adăugat 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. .Pp .Sh TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .Pp Această traducere este documentație gratuită; citiți .Lk https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .Pp Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .Mt translation-team-ro@lists.sourceforge.net .Me .