Scroll to navigation

SSHD_CONFIG(5) File Formats Manual SSHD_CONFIG(5)

NUME

sshd_configfișierul de configurare al daemonului OpenSSH

DESCRIERE

sshd(8) citește datele de configurare din /etc/ssh/sshd_config (sau fișierul specificat cu -f în linia de comandă). Fișierul conține perechi cuvânt_cheie-argument, una pe linie. Dacă nu se specifică altfel, pentru fiecare cuvânt_cheie se va utiliza prima valoare obținută. Liniile care încep cu ‘#’ și liniile goale sunt interpretate ca fiind comentarii. Argumentele pot fi opțional incluse între ghilimele duble (") pentru a reprezenta argumentele care conțin spații.

Rețineți că pachetul Debian openssh-server stabilește mai multe opțiuni ca standard în /etc/ssh/sshd_config care nu sunt cele implicite în sshd(8):

Fișierele /etc/ssh/sshd_config.d/*.conf sunt incluse la începutul fișierului de configurare, astfel încât opțiunile stabilite acolo le vor înlocui pe cele din /etc/ssh/sshd_config.

Cuvintele-cheie posibile și semnificațiile acestora sunt următoarele (rețineți că cuvintele-cheie nu disting majusculele de minuscule, iar argumentele disting majusculele de minuscule):

Specifică ce variabile de mediu trimise de client vor fi copiate în environ(7) al sesiunii. Consultați SendEnv și SetEnv în ssh_config(5) pentru modul de configurare a clientului. Variabila de mediu TERM este întotdeauna acceptată ori de câte ori clientul solicită un pseudo-terminal, deoarece acesta este cerut de protocol. Variabilele sunt specificate prin nume, care poate conține caracterele joker ‘*’ și ‘?’. Variabilele de mediu multiple pot fi separate prin spațiu alb sau repartizate pe mai multe directive AcceptEnv. Fiți avertizați că unele variabile de mediu ar putea fi utilizate pentru a ocoli mediile de utilizator restricționate. Din acest motiv, trebuie avută grijă la utilizarea acestei directive. Valoarea implicită este de a nu accepta nicio variabilă de mediu.
Specifică ce familie de adrese ar trebui să fie utilizată de sshd(8). Argumentele valide sunt any (implicit), inet (utilizează numai IPv4) sau inet6 (utilizează numai IPv6).
Specifică dacă este permisă redirecționarea ssh-agent(1). Valoarea implicită este yes. Rețineți că dezactivarea redirecționării agentului nu îmbunătățește securitatea decât dacă utilizatorilor li se interzice și accesul la shell, deoarece aceștia își pot instala întotdeauna propriile instrumente de redirecționare.
Acest cuvânt cheie poate fi urmat de o listă de modele de nume de grup, separate prin spații. Dacă este specificat, autentificarea este permisă numai pentru utilizatorii al căror grup principal sau listă de grupuri suplimentare corespunde unuia dintre modele. Numai numele grupurilor sunt valide; un ID de grup numeric nu este recunoscut. În mod implicit, autentificarea este permisă pentru toate grupurile. Directivele permite/refuză grupuri „allow/deny groups” sunt procesate în următoarea ordine: DenyGroups, AllowGroups.

Consultați secțiunea «MODELE» din ssh_config(5) pentru mai multe informații despre modele. Acest cuvânt cheie poate apărea de mai multe ori în sshd_config, fiecare instanță adăugându-se la listă.

Specifică dacă este permisă redirecționarea StreamLocal (soclu de domeniu Unix). Opțiunile disponibile sunt yes (implicit) sau all pentru a permite redirecționarea StreamLocal, no pentru a preveni orice redirecționare StreamLocal, local pentru a permite doar redirecționarea locală (din perspectiva ssh(1)) sau remote pentru a permite doar redirecționarea la distanță. Rețineți că dezactivarea redirecționării StreamLocal nu îmbunătățește securitatea decât dacă utilizatorilor li se refuză și accesul la shell, deoarece aceștia își pot instala oricând propriile instrumente de redirecționare.
Specifică dacă este permisă redirecționarea TCP. Opțiunile disponibile sunt yes (implicit) sau all pentru a permite redirecționarea TCP, no pentru a împiedica orice redirecționare TCP, local pentru a permite doar redirecționarea locală (din perspectiva ssh(1)) sau remote pentru a permite doar redirecționarea la distanță. Rețineți că dezactivarea redirecționării TCP nu îmbunătățește securitatea decât dacă utilizatorilor li se interzice și accesul la shell, deoarece aceștia își pot instala întotdeauna propriile instrumente de redirecționare.
Acest cuvânt cheie poate fi urmat de o listă de modele de nume de utilizator, separate prin spații. Dacă este specificat, autentificarea este permisă numai pentru numele de utilizator care corespund unuia dintre modele. Numai numele de utilizator sunt valide; un ID de utilizator numeric nu este recunoscut. În mod implicit, autentificarea este permisă pentru toți utilizatorii. Dacă modelul are forma UTILIZATOR@GAZDĂ, atunci UTILIZATOR și GAZDĂ sunt verificate separat, restricționând autentificarea anumitor utilizatori de la anumite gazde. Criteriile GAZDĂ pot conține, în plus, adrese care să corespundă în formatul CIDR „address/masklen” (adresă/lungime-mască). Directivele permite/refuză utilizatori „allow/deny users” sunt procesate în următoarea ordine: DenyUsers, AllowUsers.

Consultați secțiunea «MODELE» din ssh_config(5) pentru mai multe informații despre modele. Acest cuvânt cheie poate apărea de mai multe ori în sshd_config, fiecare instanță adăugându-se la listă.

Specifică metodele de autentificare care trebuie să fie finalizate cu succes pentru ca unui utilizator să i se acorde accesul. Această opțiune trebuie să fie urmată de una sau mai multe liste de nume de metode de autentificare separate prin virgule sau de un singur șir any pentru a indica comportamentul implicit de acceptare a oricărei metode de autentificare. Dacă valoarea implicită este anulată, atunci autentificarea reușită necesită îndeplinirea fiecărei metode din cel puțin una dintre aceste liste.

De exemplu, "publickey,password publickey,keyboard-interactive" ar solicita utilizatorului să finalizeze autentificarea prin cheie publică, urmată de autentificarea prin parolă sau prin tastatură interactivă. Numai metodele care urmează în una sau mai multe liste sunt oferite în fiecare etapă, astfel încât, pentru acest exemplu, nu ar fi posibil să se încerce autentificarea prin parolă sau tastatură-interactivă înainte de cheia publică.

Pentru autentificarea interactivă la tastatură, este, de asemenea, posibil să se restricționeze autentificarea la un anumit dispozitiv adăugând două puncte urmate de identificatorul dispozitivului bsdauth sau pam. în funcție de configurația serverului. De exemplu, "keyboard-interactive:bsdauth" va restricționa autentificarea interactivă la tastatură la dispozitivul bsdauth.

Dacă metoda publickey (de cheie publică) este listată de mai multe ori, sshd(8) verifică dacă cheile care au fost utilizate cu succes nu sunt reutilizate pentru autentificări ulterioare. De exemplu, "publickey,publickey" necesită autentificarea cu succes folosind două chei publice diferite.

Rețineți că fiecare metodă de autentificare enumerată trebuie, de asemenea, activată explicit în configurare.

Metodele de autentificare disponibile sunt: "gssapi-with-mic", "hostbased", "keyboard-interactive", "none" (utilizată pentru accesul la conturi fără parolă atunci când PermitEmptyPasswords este activat), "password" și "publickey".

Specifică un program care urmează să fie utilizat pentru a căuta cheile publice ale utilizatorului. Programul trebuie să fie deținut de root, să nu poată fi scris de grup sau de alte persoane și să fie specificat printr-o rută absolută. Argumentele pentru AuthorizedKeysCommand acceptă simbolurile descrise în secțiunea SIMBOLURI. Dacă nu sunt specificate argumente, se utilizează numele de utilizator al utilizatorului țintă.

Programul trebuie să producă la ieșirea standard zero sau mai multe linii de ieșire authorized_keys (a se vedea AUTHORIZED_KEYS în sshd(8)). AuthorizedKeysCommand este încercată după fișierele obișnuite AuthorizedKeysFile și nu va fi executată dacă o cheie care corespunde este găsită acolo. În mod implicit, nu se execută nicio comandă AuthorizedKeysCommand.

Specifică utilizatorul sub al cărui cont se execută comanda AuthorizedKeysCommand. Se recomandă utilizarea unui utilizator dedicat care nu are alt rol pe gazdă decât executarea comenzilor Authorized Keys. Dacă AuthorizedKeysCommand este specificat, dar AuthorizedKeysCommandUser nu este, atunci sshd(8) va refuza să pornească.
Specifică fișierul care conține cheile publice utilizate pentru autentificarea utilizatorului. Formatul este descris în secțiunea AUTHORIZED_KEYS FILE FORMAT din sshd(8). Argumentele pentru AuthorizedKeysFile pot include caractere joker și pot accepta simbolurile descrise în secțiunea SIMBOLURI. După expansiune, AuthorizedKeysFile este considerat a fi o rută absolută sau una relativă la directorul personal al utilizatorului. Pot fi enumerate mai multe fișiere, separate prin spații albe. Alternativ, această opțiune poate fi definită la none pentru a sări peste verificarea cheilor utilizatorului în fișiere. Valoarea implicită este ".ssh/authorized_keys .ssh/authorized_keys2".
Specifică un program care urmează să fie utilizat pentru a genera lista principalelor certificate permise conform AuthorizedPrincipalsFile. Programul trebuie să fie deținut de root, să nu poată fi scris de grup sau de alte persoane și să fie specificat printr-o rută absolută. Argumentele pentru AuthorizedPrincipalsCommand acceptă simbolurile descrise în secțiunea SIMBOLURI. Dacă nu sunt specificate argumente, se utilizează numele de utilizator al utilizatorului țintă.

Programul trebuie să producă la ieșirea standard zero sau mai multe linii de ieșire AuthorizedPrincipalsFile. Dacă se specifică AuthorizedPrincipalsCommand sau AuthorizedPrincipalsFile, atunci certificatele oferite de client pentru autentificare trebuie să conțină un „principal” care este listat. În mod implicit, nu se execută AuthorizedPrincipalsCommand.

Specifică utilizatorul în contul căruia se execută comanda AuthorizedPrincipalsCommand. Se recomandă utilizarea unui utilizator dedicat care nu are alt rol pe gazdă decât executarea comenzilor Authorized Principals. Dacă AuthorizedPrincipalsCommand este specificată, dar AuthorizedPrincipalsCommandUser nu este, atunci sshd(8) va refuza să pornească.
Specifică un fișier care enumeră numele principalilor care sunt acceptate pentru autentificarea certificatelor. Atunci când se utilizează certificate semnate de o cheie enumerată în TrustedUserCAKeys, acest fișier enumeră nume, dintre care unul trebuie să apară în certificat pentru ca acesta să fie acceptat pentru autentificare. Numele sunt enumerate câte unul pe linie, precedate de opțiuni de cheie (astfel cum sunt descrise în AUTHORIZED_KEYS FILE FORMAT în sshd(8)). Liniile goale și comentariile care încep cu ‘#’ sunt ignorate.

Argumentele pentru AuthorizedPrincipalsFile pot include caractere joker și pot accepta simbolurile descrise în secțiunea SIMBOLURI. După expansiune, AuthorizedPrincipalsFile este considerată a fi o rută absolută sau una relativă la directorul personal al utilizatorului. Valoarea implicită este none, adică neutilizarea unui fișier de principali -- în acest caz, numele de utilizator al utilizatorului trebuie să apară în lista de principali a unui certificat pentru ca acesta să fie acceptat.

Rețineți că AuthorizedPrincipalsFile este utilizată numai atunci când autentificarea se realizează utilizând o autoritate de certificare listată în TrustedUserCAKeys și nu este consultată pentru autoritățile de certificare de încredere prin ~/.ssh/authorized_keys, deși opțiunea de cheie principals= oferă o facilitate similară (vezi sshd(8) pentru detalii).

Conținutul fișierului specificat este trimis utilizatorului de la distanță înainte ca autentificarea să fie permisă. Dacă argumentul este none, atunci nu se afișează niciun mesaj de întâmpinare „banner.” În mod implicit, nu este afișat niciun „banner”.
Specifică ce algoritmi sunt permiși pentru semnarea certificatelor de către autoritățile de certificare (CA). Valoarea implicită este:
ssh-ed25519,ecdsa-sha2-nistp256,
ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256

Dacă lista specificată începe cu un caracter ‘+’, atunci algoritmii specificați vor fi adăugați la setul implicit în loc să fie înlocuiți. Dacă lista specificată începe cu un caracter ‘-’, atunci algoritmii specificați (inclusiv caracterele joker) vor fi eliminați din setul implicit în loc să fie înlocuiți.

Certificatele semnate folosind alți algoritmi nu vor fi acceptate pentru autentificarea pe bază de cheie publică sau gazdă.

Specifică dacă și cât de repede sshd(8) trebuie să închidă canalele inactive. Timpii de așteptare sunt specificați ca una sau mai multe perechi “type=interval” separate prin spații albe, unde “type” trebuie să fie cuvântul-cheie special “global” sau un nume de tip de canal din lista de mai jos, conținând opțional caractere joker.

Valoarea timpului de așteptare “interval” este specificată în secunde sau poate utiliza oricare dintre unitățile documentate în secțiunea FORMATE DE TIMP. De exemplu, “session=5m” ar face ca sesiunile interactive să se încheie după cinci minute de inactivitate. Specificarea unei valori zero dezactivează limita de timp pentru inactivitate.

Timpul de așteptare special “global” se aplică tuturor canalelor active, luate împreună. Traficul pe orice canal activ va reinițializa timpul de așteptare, dar atunci când timpul de așteptare expiră, toate canalele deschise vor fi închise. Rețineți că acest timp limită global nu este compatibil cu caracterele joker și trebuie să fie specificat explicit.

Numele tipurilor de canal disponibile includ:

Deschide conexiuni către ssh-agent(1).
, direct-streamlocal@openssh.com
Deschide conexiuni TCP sau soclu Unix (respectiv) care au fost stabilite de la o redirecționare locală ssh(1), adică LocalForward sau DynamicForward.
, forwarded-streamlocal@openssh.com
Deschide conexiuni TCP sau soclu Unix (respectiv) care au fost stabilite la un sshd(8) care ascultă în numele unui ssh(1) de redirecționare la distanță, și anume RemoteForward.
Sesiunea principală interactivă, inclusiv sesiunea shell, executarea comenzilor, scp(1), sftp(1), etc.
Deschide conexiuni TunnelForward.
Deschide sesiuni de redirecționare X11.

Rețineți că, în toate cazurile de mai sus, terminarea unei sesiuni inactive nu garantează eliminarea tuturor resurselor asociate sesiunii, de exemplu, procesele shell sau clienții X11 referitoare la sesiune pot continua să se execute.

În plus, terminarea unui canal sau a unei sesiuni inactive nu închide neapărat conexiunea SSH și nici nu împiedică un client să solicite un alt canal de același tip. În special, încetarea unei sesiuni de redirecționare inactive nu împiedică crearea ulterioară a unei alte redirecționări identice.

Valoarea implicită este de a nu expira canalele de orice tip pentru inactivitate.

Specifică numele de rută al unui director pentru chroot(2) după autentificare. La pornirea sesiunii, sshd(8) verifică dacă toate componentele numelui de rută sunt directoare deținute de root care nu pot fi scrise de grup sau de alții. După efectuarea chroot, sshd(8) schimbă directorul de lucru la directorul personal al utilizatorului. Argumentele pentru ChrootDirectory acceptă simbolurile descrise în secțiunea SIMBOLURI.

ChrootDirectory trebuie să conțină fișierele și directoarele necesare pentru a oferi suport sesiunii utilizatorului. Pentru o sesiune interactivă, aceasta necesită cel puțin un shell, de obicei sh(1), și noduri /dev de bază, cum ar fi dispozitivele null(4), zero(4), stdin(4), stdout(4), stderr(4) și tty(4). Pentru sesiunile de transfer de fișiere care utilizează SFTP nu este necesară nicio configurare suplimentară a mediului dacă se utilizează sftp-server în proces, deși sesiunile care utilizează jurnalizarea pot necesita /dev/log în interiorul directorului chroot pe unele sisteme de operare (consultați sftp-server(8) pentru detalii).

Pentru siguranță, este foarte important ca ierarhia directoarelor să nu poată fi modificată de alte procese din sistem (în special cele din afara celulei). O configurație greșită poate duce la medii nesigure pe care sshd(8) nu le poate detecta.

Valoarea implicită este none, ceea ce indică faptul că nu trebuie să se execute chroot(2).

Specifică cifrurile permise. Cifrurile multiple trebuie să fie separate prin virgule. Dacă lista specificată începe cu un caracter ‘+’, atunci cifrurile specificate vor fi adăugate la setul implicit în loc să le înlocuiască. Dacă lista specificată începe cu un caracter ‘-’, atunci cifrurile specificate (inclusiv caracterele joker) vor fi eliminate din setul implicit în loc să le înlocuiască. Dacă lista specificată începe cu un caracter ‘^’, atunci cifrurile specificate vor fi plasate la începutul setului implicit.

Cifrurile acceptate sunt:

  • 3des-cbc
  • aes128-cbc
  • aes192-cbc
  • aes256-cbc
  • aes128-ctr
  • aes192-ctr
  • aes256-ctr
  • aes128-gcm@openssh.com
  • aes256-gcm@openssh.com
  • chacha20-poly1305@openssh.com

Valoarea implicită este:

chacha20-poly1305@openssh.com,
aes128-gcm@openssh.com,aes256-gcm@openssh.com,
aes128-ctr,aes192-ctr,aes256-ctr

Lista cifrurilor disponibile poate fi de asemenea obținută utilizând "ssh -Q cipher".

Stabilește numărul de mesaje de menținere a conexiunii cu clientul „client alive” care pot fi trimise fără ca sshd(8) să primească niciun mesaj înapoi de la client. Dacă acest prag este atins în timp ce sunt trimise mesaje de menținere a conexiunii cu clientul, sshd va deconecta clientul, încheind sesiunea. Este important de reținut că utilizarea mesajelor client alive este foarte diferită de TCPKeepAlive. Mesajele client alive sunt trimise prin canalul criptat și, prin urmare, nu vor putea fi falsificate. Opțiunea TCP keepalive activată de TCPKeepAlive poate fi falsificată. Mecanismul client alive este util atunci când clientul sau serverul depind de cunoașterea momentului în care o conexiune nu mai răspunde.

Valoarea implicită este 3. Dacă ClientAliveInterval este stabilit la 15, iar ClientAliveCountMax este lăsat la valoarea implicită, clienții SSH care nu răspund vor fi deconectați după aproximativ 45 de secunde. Stabilirea la zero a valorii ClientAliveCountMax dezactivează terminarea conexiunii.

Stabilește un interval de timp în secunde după care, în cazul în care nu au fost primite date de la client, sshd(8) va trimite un mesaj prin canalul criptat pentru a solicita un răspuns de la client. Valoarea implicită este 0, indicând faptul că aceste mesaje nu vor fi trimise către client.
Specifică dacă comprimarea este activată după ce utilizatorul s-a autentificat cu succes. Argumentul trebuie să fie yes, delayed (un sinonim vechi pentru yes) sau no. Valoarea implicită este yes.
Specifică dacă sufixul versiunii suplimentare specificat de distribuție este inclus în timpul negocierii inițiale ale protocolului. Valoarea implicită este yes.
Acest cuvânt cheie poate fi urmat de o listă de modele de nume de grup, separate prin spații. Conectarea este interzisă utilizatorilor al căror grup principal sau listă suplimentară de grupuri corespunde unuia dintre modele. Numai numele grupurilor sunt valide; un ID de grup numeric nu este recunoscut. În mod implicit, autentificarea este permisă pentru toate grupurile. Directivele permite/refuză grupuri „allow/deny groups” sunt procesate în următoarea ordine: DenyGroups, AllowGroups.

Consultați secțiunea «MODELE» din ssh_config(5) pentru mai multe informații despre modele. Acest cuvânt cheie poate apărea de mai multe ori în sshd_config, fiecare instanță adăugându-se la listă.

Acest cuvânt cheie poate fi urmat de o listă de modele de nume de utilizator, separate prin spații. Conectarea nu este permisă pentru numele de utilizator care corespund unuia dintre modele. Numai numele de utilizator sunt valide; un ID de utilizator numeric nu este recunoscut. În mod implicit, conectarea este permisă pentru toți utilizatorii. Dacă modelul are forma UTILIZATOR@GAZDĂ, atunci UTILIZATOR și GAZDĂ sunt verificate separat, restricționând autentificarea anumitor utilizatori de la anumite gazde. Criteriile GAZDĂ pot conține, în plus, adrese care să corespundă în formatul CIDR adresă.lungime-mască „address/masklen”. Directivele pemite/refuză utilizatori „allow/deny users” sunt procesate în următoarea ordine: DenyUsers, AllowUsers.

Consultați secțiunea «MODELE» din ssh_config(5) pentru mai multe informații despre modele. Acest cuvânt cheie poate apărea de mai multe ori în sshd_config, fiecare instanță adăugându-se la listă.

Dezactivează toate caracteristicile de redirecționare, inclusiv X11, ssh-agent(1), TCP și StreamLocal. Această opțiune prevalează asupra tuturor celorlalte opțiuni legate de redirecționare și poate simplifica configurațiile restricționate.
Scrie un fișier temporar care conține o listă de metode de autentificare și acreditări publice (de exemplu, chei) utilizate pentru autentificarea utilizatorului. Locația fișierului este expusă sesiunii utilizatorului prin intermediul variabilei de mediu SSH_USER_AUTH. Valoarea implicită este no.
Specifică algoritmul de calculare a sumelor de control utilizat la înregistrarea amprentelor digitale ale cheilor. Opțiunile valide sunt: md5 și sha256. Valoarea implicită este sha256.
Forțează executarea comenzii specificate de ForceCommand, ignorând orice comandă furnizată de client și ~/.ssh/rc dacă este prezentă. Comanda este invocată prin utilizarea shell-ului de conectare al utilizatorului cu opțiunea -c. Aceasta se aplică la execuția shell-ului, comenzii sau subsistemului. Este cel mai util în interiorul unui bloc Match. Comanda furnizată inițial de client este disponibilă în variabila de mediu SSH_ORIGINAL_COMMAND. Specificarea unei comenzi internal-sftp va forța utilizarea unui server SFTP în proces care nu necesită fișiere de suport atunci când este utilizată cu ChrootDirectory. Valoarea implicită este none.
Specifică dacă gazdele de la distanță sunt autorizate să se conecteze la porturile redirecționate pentru client. În mod implicit, sshd(8) leagă redirecționările porturilor la distanță la adresa loopback. Acest lucru împiedică alte gazde de la distanță să se conecteze la porturile redirecționate GatewayPorts poate fi utilizată pentru a specifica faptul că sshd ar trebui să permită redirecționările porturilor la distanță să se lege la adrese non-loopback, permițând astfel altor gazde să se conecteze. Argumentul poate fi no pentru a forța redirecționările de porturi la distanță să fie disponibile numai pentru gazda locală, yes pentru a forța redirecționările de porturi la distanță să se lege la adresa substituentă sau clientspecified pentru a permite clientului să selecteze adresa la care este legată redirecționarea. Valoarea implicită este no.
Specifică dacă este permisă autentificarea utilizatorului bazată pe GSSAPI. Valoarea implicită este no.
Specifică dacă să distrugă automat memoria cache a acreditărilor utilizatorului la deconectare. Valoarea implicită este yes.
Specifică dacă este permis schimbul de chei bazat pe GSSAPI. Schimbul de chei GSSAPI nu se bazează pe cheile ssh pentru a verifica identitatea gazdei. Valoarea implicită este no.
Determină dacă trebuie să fie strict cu privire la identitatea acceptorului GSSAPI față de care se autentifică un client. Dacă este definită la yes, atunci clientul trebuie să se autentifice în raport cu serviciul gazdă de pe numele de gazdă curent. Dacă este definită la no, atunci clientul se poate autentifica cu orice cheie de serviciu stocată în memoria implicită a mașinii. Această facilitate este oferită pentru a ajuta la operarea pe mașini cu mai multe gazde. Valoarea implicită este yes.
Controlează dacă credențialele GSSAPI ale utilizatorului ar trebui actualizate după o reînnoire cu succes a cheilor conexiunii. Această opțiune poate fi utilizată pentru a accepta acreditările reînnoite sau actualizate de la un client compatibil. Valoarea implicită este “no”.

Pentru ca acest lucru să funcționeze, GSSAPIKeyExchange trebuie să fie activată pe server și utilizată și de client.

Lista algoritmilor de schimb de chei care sunt acceptați de schimbul de chei GSSAPI. Valorile posibile sunt
gss-gex-sha1-,
gss-group1-sha1-,
gss-group14-sha1-,
gss-group14-sha256-,
gss-group16-sha512-,
gss-nistp256-sha256-,
gss-curve25519-sha256-

:ista implicită este “gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-,gss-gex-sha1-,gss-group14-sha1-”. Această opțiune se aplică numai conexiunilor care utilizează GSSAPI.

Specifică algoritmii de semnătură care vor fi acceptați pentru autentificarea bazată pe gazdă ca o listă de modele separate prin virgule. Alternativ, dacă lista specificată începe cu un caracter ‘+’, atunci algoritmii de semnătură specificați vor fi adăugați la setul implicit în loc să fie înlocuiți. Dacă lista specificată începe cu un caracter ‘-’, atunci algoritmii de semnătură specificați (inclusiv cei specificați cu caractere joker) vor fi eliminați din setul implicit în loc să fie înlocuiți. Dacă lista specificată începe cu un caracter ‘^’, atunci algoritmii de semnătură specificați vor fi plasați la începutul setului implicit. Valoarea implicită pentru această opțiune este:
ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
sk-ssh-ed25519-cert-v01@openssh.com,
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
rsa-sha2-512-cert-v01@openssh.com,
rsa-sha2-256-cert-v01@openssh.com,
ssh-ed25519,
ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256

Lista algoritmilor de semnătură disponibili poate fi obținută și utilizând "ssh -Q HostbasedAcceptedAlgorithms". Aceasta a fost denumită anterior HostbasedAcceptedKeyTypes.

Specifică dacă este permisă autentificarea rhosts sau „/etc/hosts.equiv” împreună cu autentificarea de succes a gazdei clientului cu cheie publică (autentificare bazată pe gazdă). Valoarea implicită este no.
Specifică dacă serverul va încerca sau nu să efectueze o căutare inversă a numelui atunci când se potrivește numele din fișierele ~/.shosts, ~/.rhosts și /etc/hosts.equiv în timpul HostbasedAuthentication. O definiție de yes înseamnă că sshd(8) utilizează numele furnizat de client în loc să încerce să rezolve numele din conexiunea TCP în sine. Valoarea implicită este no.
Specifică un fișier care conține un certificat de gazdă publică. Cheia publică a certificatului trebuie să corespundă unei chei private a gazdei deja specificate prin HostKey. Comportamentul implicit al sshd(8) este de a nu încărca niciun certificat.
Specifică un fișier care conține o cheie privată de gazdă utilizată de SSH. Valorile implicite sunt /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ed25519_key și /etc/ssh/ssh_host_rsa_key.

Rețineți că sshd(8) va refuza să utilizeze un fișier dacă acesta este accesibil grupului/tuturor celorlalți și că opțiunea HostKeyAlgorithms restricționează care dintre chei sunt utilizate efectiv de sshd(8).

Este posibil să aveți mai multe fișiere de chei gazdă. De asemenea, este posibil să se specifice în schimb fișiere de chei gazdă publice. În acest caz, operațiile asupra cheii private vor fi delegate unui ssh-agent(1).

Identifică soclul din domeniul UNIX utilizat pentru a comunica cu un agent care are acces la cheile private ale gazdei. Dacă este specificat șirul "SSH_AUTH_SOCK", locația soclului va fi citită din variabila de mediu SSH_AUTH_SOCK.
Specifică algoritmii de semnătură a cheii gazdă pe care îi oferă serverul. Valoarea implicită pentru această opțiune este:
ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
sk-ssh-ed25519-cert-v01@openssh.com,
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
rsa-sha2-512-cert-v01@openssh.com,
rsa-sha2-256-cert-v01@openssh.com,
ssh-ed25519,
ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256

Lista algoritmilor de semnătură disponibili poate fi de asemenea obținută utilizând "ssh -Q HostKeyAlgorithms".

Specifică dacă se ignoră fișierele .rhosts și .shosts per utilizator în timpul HostbasedAuthentication. /etc/hosts.equiv și /etc/ssh/shosts.equiv la nivel de sistem sunt utilizate în continuare indiferent de valoarea acestei opțiuni.

Valorile acceptate sunt yes (implicit) pentru a ignora toate fișierele per-user, shosts-only pentru a permite utilizarea .shosts dar pentru a ignora .rhosts sau no pentru a permite atât .shosts cât și rhosts.

Specifică dacă sshd(8) ar trebui să ignore fișierul ~/.ssh/known_hosts al utilizatorului în timpul HostbasedAuthentication și să utilizeze doar fișierul de gazde cunoscute la nivel de sistem /etc/ssh/ssh_known_hosts. Valoarea implicită este “no”.
Include fișierul (fișierele) de configurare specificat(e). Se pot specifica mai multe nume de rute și fiecare nume de rută poate conține glob(7) caractere joker care vor fi expandate și procesate în ordine lexicală. Fișierele fără rute absolute sunt considerate a fi în /etc/ssh. O directivă Include poate apărea în interiorul unui bloc Match pentru a efectua includerea condiționată.
Specifică tipul de serviciu IPv4 sau clasa DSCP pentru conexiune. Valorile acceptate sunt af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, ef, le, lowdelay, throughput, reliability, o valoare numerică sau none pentru a utiliza valoarea implicită a sistemului de operare. Această opțiune poate primi unul sau două argumente, separate printr-un spațiu alb. Dacă este specificat un argument, acesta este utilizat necondiționat ca clasă de pachete. Dacă sunt specificate două valori, prima este selectată automat pentru sesiunile interactive și a doua pentru sesiunile non-interactive. Valoarea implicită este lowdelay pentru sesiunile interactive și throughput pentru sesiunile non-interactive.
Specifică dacă se permite autentificarea interactivă la tastatură. Valoarea implicită este yes. Argumentul pentru acest cuvânt cheie trebuie să fie yes sau no. ChallengeResponseAuthentication este un alias depreciat pentru aceasta.
Specifică dacă parola furnizată de utilizator pentru PasswordAuthentication va fi validată prin intermediul KDC (centrul de distribuire de chei) Kerberos. Pentru a utiliza această opțiune, serverul are nevoie de un servtab Kerberos care să permită verificarea identității KDC-ului. Valoarea implicită este no.
Dacă AFS este activ și utilizatorul are un TGT Kerberos 5, încearcă să obțină un jeton AFS înainte de a accesa directorul personal al utilizatorului. Valoarea implicită este no.
Dacă autentificarea parolei prin Kerberos eșuează, atunci parola va fi validată prin orice mecanism local suplimentar, cum ar fi /etc/passwd. Valoarea implicită este yes.
Specifică dacă să se distrugă automat fișierul cache al biletelor utilizatorului la deconectare. Valoarea implicită este yes.
Specifică algoritmii KEX (Key Exchange) permiși pe care serverul îi va oferi clienților. Ordinea acestei liste nu este importantă, deoarece clientul specifică ordinea preferințelor. Algoritmii multipli trebuie să fie separați prin virgule.

Dacă lista specificată începe cu un caracter ‘+’, atunci algoritmii specificați vor fi adăugați la setul implicit în loc să fie înlocuiți. Dacă lista specificată începe cu un caracter ‘-’, atunci algoritmii specificați (inclusiv cei secificați cu caractere joker) vor fi eliminați din setul implicit în loc să fie înlocuiți. Dacă lista specificată începe cu un caracter ‘^’, atunci algoritmii specificați vor fi plasați la începutul setului implicit.

Algoritmii acceptați sunt:

  • curve25519-sha256
  • curve25519-sha256@libssh.org
  • diffie-hellman-group1-sha1
  • diffie-hellman-group14-sha1
  • diffie-hellman-group14-sha256
  • diffie-hellman-group16-sha512
  • diffie-hellman-group18-sha512
  • diffie-hellman-group-exchange-sha1
  • diffie-hellman-group-exchange-sha256
  • ecdh-sha2-nistp256
  • ecdh-sha2-nistp384
  • ecdh-sha2-nistp521
  • mlkem768x25519-sha256
  • sntrup761x25519-sha512
  • sntrup761x25519-sha512@openssh.com

Valoarea implicită este:

mlkem768x25519-sha256,
sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,
curve25519-sha256,curve25519-sha256@libssh.org,
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521

Lista algoritmilor de schimb de chei acceptați poate fi obținută și utilizând "ssh -Q KexAlgorithms".

Specifică adresele locale pe care sshd(8) ar trebui să asculte. Pot fi utilizate următoarele formate:

Calificatorul opțional rdomain solicită ca sshd(8) să asculte într-un domeniu de direcționare explicit. Dacă port nu este specificat, sshd va asculta pe adresa și toate opțiunile Port specificate. Valoarea implicită este de a asculta pe toate adresele locale din domeniul de direcționare implicit curent. Sunt permise mai multe opțiuni ListenAddress.

În Linux, domeniile de direcționare sunt implementate utilizând domenii virtuale de direcționare și redirecționare (VRF); pentru mai multe informații, consultați ip-vrf(8).

Serverul se deconectează după acest timp dacă utilizatorul nu s-a autentificat cu succes. Dacă valoarea este 0, nu există nicio limită de timp. Valoarea implicită este de 120 de secunde.
Definește nivelul de detaliere a mesajelor informative care este utilizat la înregistrarea mesajelor din sshd(8). Valorile posibile sunt: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 și DEBUG3. Valoarea implicită este INFO. DEBUG și DEBUG1 sunt echivalente. DEBUG2 și DEBUG3 specifică fiecare niveluri superioare de ieșire de depanare. Jurnalizarea cu un nivel DEBUG încalcă confidențialitatea utilizatorilor și nu este recomandată.
Specifică una sau mai multe valori de suprascriere pentru LogLevel. O suprascriere constă din una sau mai multe liste de modele care corespund fișierului sursă, funcției și numărului liniei pentru care se forțează înregistrarea detaliată. De exemplu, un model de suprascriere de:
kex.c:*:1000,*:kex_exchange_identification():*,packet.c:*

ar activa înregistrarea detaliată pentru linia 1000 din kex.c, tot ce se află în funcția () și tot codul din fișierul packet.c. Această opțiune este destinată depanării și nicio modificare (suprascriere) nu este activată implicit.

Specifică algoritmii MAC (cod de autentificare a mesajelor) disponibili. Algoritmul MAC este utilizat pentru protecția integrității datelor. Algoritmii multipli trebuie să fie separați prin virgule. Dacă lista specificată începe cu un caracter ‘+’, atunci algoritmii specificați vor fi adăugați la setul implicit în loc să fie înlocuiți. Dacă lista specificată începe cu un caracter ‘-’, atunci algoritmii specificați (inclusiv cei specificați cu caractere joker) vor fi eliminați din setul implicit în loc să fie înlocuiți. Dacă lista specificată începe cu un caracter ‘^’, atunci algoritmii specificați vor fi plasați la începutul setului implicit.

Algoritmii care conțin "-etm" calculează MAC după criptare (encrypt-then-mac). Acestea sunt considerate mai sigure și se recomandă utilizarea lor. MAC-urile acceptate sunt:

  • hmac-md5
  • hmac-md5-96
  • hmac-sha1
  • hmac-sha1-96
  • hmac-sha2-256
  • hmac-sha2-512
  • umac-64@openssh.com
  • umac-128@openssh.com
  • hmac-md5-etm@openssh.com
  • hmac-md5-96-etm@openssh.com
  • hmac-sha1-etm@openssh.com
  • hmac-sha1-96-etm@openssh.com
  • hmac-sha2-256-etm@openssh.com
  • hmac-sha2-512-etm@openssh.com
  • umac-64-etm@openssh.com
  • umac-128-etm@openssh.com

Valoarea implicită este:

umac-64-etm@openssh.com,umac-128-etm@openssh.com,
hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
hmac-sha1-etm@openssh.com,
umac-64@openssh.com,umac-128@openssh.com,
hmac-sha2-256,hmac-sha2-512,hmac-sha1

Lista algoritmilor MAC disponibili poate fi de asemenea obținută utilizând "ssh -Q mac".

Introduce un bloc condițional. Dacă toate criteriile de pe linia Match sunt îndeplinite, cuvintele-cheie de pe următoarele linii prevalează asupra celor stabilite în secțiunea globală a fișierului de configurare, până la o altă linie Match sau până la sfârșitul fișierului. Dacă un cuvânt-cheie apare în mai multe blocuri Match care sunt îndeplinite, se aplică numai prima instanță a cuvântului-cheie.

Argumentele pentru Match sunt una sau mai multe perechi criteriu-model sau unul dintre criteriile cu un singur simbol: All, care corespunde tuturor criteriilor, sau Invalid-User, care corespunde atunci când numele de utilizator solicitat nu corespunde niciunui cont cunoscut. Criteriile disponibile sunt User, Group, Host, LocalAddress, LocalPort, Version, RDomain și Address (cu RDomain reprezentând domeniul de direcționare pe care a fost primită conexiunea; vezi ip-vrf(8)).

Modelele de potrivire pot consta în intrări simple sau liste separate prin virgule și pot utiliza operatorii joker și de negare descriși în secțiunea MODELE din ssh_config(5).

Modelele dintr-un criteriu Address pot conține, în plus, adrese care trebuie să corespundă în formatul de adresă/lungime-mască CIDR, cum ar fi 192.0.2.0/24 sau 2001:db8::/32. Rețineți că lungimea măștii furnizate trebuie să fie în concordanță cu adresa - este o eroare să specificați o lungime a măștii care este prea lungă pentru adresă sau una cu biți activați în această porțiune de gazdă a adresei. De exemplu, 192.0.2.0/33 și, respectiv, 192.0.2.0/8.

Cuvântul cheie Version se potrivește cu șirul de versiuni al sshd(8), de exemplu “OpenSSH_10.0”.

Numai un subset de cuvinte cheie poate fi utilizat pe liniile care urmează unui cuvânt cheie Match. Cuvintele cheie disponibile sunt AcceptEnv, AllowAgentForwarding, AllowGroups, AllowStreamLocalForwarding, AllowTcpForwarding, AllowUsers, AuthenticationMethods, AuthorizedKeysCommand, AuthorizedKeysCommandUser, AuthorizedKeysFile, AuthorizedPrincipalsCommand, AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile, Banner, CASignatureAlgorithms, ChannelTimeout, ChrootDirectory, ClientAliveCountMax, ClientAliveInterval, DenyGroups, DenyUsers, DisableForwarding, ExposeAuthInfo, ForceCommand, GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedAlgorithms, HostbasedAuthentication, HostbasedUsesNameFromPacketOnly, IgnoreRhosts, Include, IPQoS, KbdInteractiveAuthentication, KerberosAuthentication, LogLevel, MaxAuthTries, MaxSessions, PAMServiceName, PasswordAuthentication, PermitEmptyPasswords, PermitListen, PermitOpen, PermitRootLogin, PermitTTY, PermitTunnel, PermitUserRC, PubkeyAcceptedAlgorithms, PubkeyAuthentication, PubkeyAuthOptions, RefuseConnection, RekeyLimit, RevokedKeys, SetEnv, StreamLocalBindMask, StreamLocalBindUnlink, TrustedUserCAKeys, UnusedConnectionTimeout, X11DisplayOffset, X11Forwarding și X11UseLocalhost.

Specifică numărul maxim de încercări de autentificare permise per conexiune. Odată ce numărul de eșecuri atinge jumătate din această valoare, eșecurile ulterioare sunt înregistrate. Valoarea implicită este 6.
Specifică numărul maxim de sesiuni deschise de tip shell, autentificare sau subsistem (de exemplu, sftp) permise per conexiune de rețea. Mai multe sesiuni pot fi stabilite de clienții care acceptă multiplexarea conexiunii. Stabilirea MaxSessions la 1 va dezactiva efectiv multiplexarea sesiunilor, în timp ce stabilirea la 0 va împiedica toate sesiunile shell, de autentificare și subsistem, permițând în același timp redirecționarea. Valoarea implicită este 10.
Specifică numărul maxim de conexiuni simultane neautentificate la demonul SSH. Conexiunile suplimentare vor fi abandonate până când autentificarea reușește sau până când LoginGraceTime expiră pentru o conexiune. Valoarea implicită este 10:30:100.

Alternativ, se poate activa abandonarea prematură aleatorie prin specificarea celor trei valori separate prin două puncte inițiate:rata:total (de exemplu, „10:30:60”). sshd(8) va refuza încercările de conectare cu o probabilitate de rata/100 (30%) dacă există în prezent inițiate (10) conexiuni neautentificate. Probabilitatea crește liniar și toate încercările de conectare sunt refuzate dacă numărul de conexiuni neautentificate ajunge la numărul „total” (60).

Specifică fișierul moduli(5) care conține grupurile Diffie-Hellman utilizate pentru metodele de schimb de chei “diffie-hellman-group-exchange-sha1” și “diffie-hellman-group-exchange-sha256”. Valoarea implicită este /etc/ssh/moduli.
Specifică numele serviciului utilizat pentru autentificarea, autorizarea și controlul sesiunii PAM (Pluggable Authentication Modules) atunci când UsePAM este activată. Valoarea implicită este sshd.
Specifică dacă este permisă autentificarea prin parolă. Valoarea implicită este yes.
Atunci când este permisă autentificarea prin parolă, aceasta specifică dacă serverul permite conectarea la conturi cu șiruri de parole goale. Valoarea implicită este no.
Specifică adresele/porturile pe care o redirecționare de port TCP la distanță poate asculta. Specificația de ascultare trebuie să fie una dintre următoarele forme:

Mai multe permisiuni pot fi specificate prin separarea lor cu un spațiu alb. Un argument de tipul any poate fi utilizat pentru a elimina toate restricțiile și a permite orice cerere de ascultare. Un argument de tipul none poate fi utilizat pentru a interzice toate cererile de ascultare. Numele gazdei poate conține caractere joker, așa cum este descris în secțiunea PATTERNS din ssh_config(5). Caracterul joker ‘*’ poate fi de asemenea utilizat în locul unui număr de port pentru a permite toate porturile. În mod implicit, sunt permise toate solicitările de ascultare pentru redirecționarea porturilor. Rețineți că opțiunea GatewayPorts poate restricționa și mai mult adresele care pot fi ascultate. Rețineți, de asemenea, că ssh(1) va solicita o gazdă de ascultare “localhost” dacă nu a fost solicitată în mod specific o gazdă de ascultare, iar acest nume este tratat diferit față de adresele explicite de gazdă locală “127.0.0.1” și “::1”.

Specifică destinațiile către care este permisă redirecționarea porturilor TCP. Specificația de redirecționare trebuie să fie una dintre următoarele forme:

Se pot specifica mai multe redirecționări prin separarea lor cu un spațiu alb. Un argument de tipul any poate fi utilizat pentru a elimina toate restricțiile și a permite orice cerere de redirecționare. Un argument de tipul none poate fi utilizat pentru a interzice toate cererile de redirecționare. Caracterul joker ‘*’ poate fi utilizat pentru gazdă sau port pentru a permite toate gazdele, respectiv porturile. În caz contrar, nu se efectuează nicio potrivire de model sau căutare de adrese pentru numele furnizate. În mod implicit, toate cererile de redirecționare a porturilor sunt permise.

Specifică dacă root se poate conecta folosind ssh(1). Argumentul trebuie să fie yes, prohibit-password, forced-commands-only sau no. Valoarea implicită este prohibit-password.

Dacă această opțiune este stabilită la prohibit-password (sau aliasul său depreciat, without-password), autentificarea prin parolă și tastatura-interactivă sunt dezactivate pentru root.

Dacă această opțiune este definită la forced-commands-only, autentificarea root cu autentificare prin cheie publică va fi permisă, dar numai dacă a fost specificată opțiunea command (care poate fi utilă pentru realizarea de copii de rezervă de la distanță chiar dacă autentificarea root nu este permisă în mod normal). Toate celelalte metode de autentificare sunt dezactivate pentru root.

Dacă această opțiune este stabilită la no, root nu are voie să se conecteze.

Specifică dacă este permisă alocarea pty(4). Valoarea implicită este yes.
Specifică dacă este permisă redirecționarea dispozitivelor tun(4). Argumentul trebuie să fie yes, point-to-point (strat 3), ethernet (strat 2) sau no. Specificarea yes permite atât point-to-point, cât și ethernet. Valoarea implicită este no.

Independent de această valoare a opțiunii, permisiunile dispozitivului tun(4) selectat trebuie să permită accesul utilizatorului.

Specifică dacă opțiunile ~/.ssh/environment și environment= din ~/.ssh/authorized_keys sunt procesate de sshd(8). Opțiunile valide sunt yes, no sau o listă de modele care specifică ce nume de variabile de mediu trebuie acceptate (de exemplu "LANG,LC_*"). Valoarea implicită este no. Activarea procesării mediului poate permite utilizatorilor să ocolească restricțiile de acces în anumite configurații utilizând mecanisme precum LD_PRELOAD.
Specifică dacă orice fișier ~/.ssh/rc este executat. Valoarea implicită este yes.
Specifică numărul de conexiuni neautentificate permise de la o anumită adresă sursă sau “none” dacă nu există nicio limită. Această limită este aplicată în plus față de MaxStartups, oricare dintre acestea este mai mică. Valoarea implicită este none.
Specifică numărul de biți ai adresei sursă care sunt grupați în scopul aplicării limitelor PerSourceMaxStartups. Se pot specifica valori pentru IPv4 și, opțional, IPv6, separate prin două puncte. Valoarea implicită este 32:128, ceea ce înseamnă că fiecare adresă este luată în considerare individual.
Controlează penalitățile pentru diferite condiții care pot reprezenta atacuri asupra sshd(8). Dacă se aplică o sancțiune împotriva unui client, atunci adresa sa sursă și orice alta din aceeași rețea, astfel cum este definită de PerSourceNetBlockSize, va fi refuzată pentru o perioadă.

O penalizare nu afectează conexiunile simultane în curs de desfășurare, dar mai multe penalizări din aceeași sursă de la conexiuni simultane se vor acumula până la un maxim. Dimpotrivă, penalitățile nu sunt aplicate până când nu se acumulează un prag minim de timp.

Penalitățile sunt activate în mod implicit cu valorile implicite enumerate mai jos, dar pot fi dezactivate folosind cuvântul-cheie no. Valorile implicite pot fi anulate prin specificarea unuia sau mai multora dintre cuvintele cheie de mai jos, separate prin spații albe. Toate cuvintele cheie acceptă argumente, de exemplu: "crash:2m".

Specifică cât timp să se refuze clienții care cauzează o cădere a sshd(8) (implicit: 90s).
Specifică cât timp trebuie să se refuze clienții care se deconectează după una sau mai multe încercări nereușite de autentificare (implicit: 5s).
Specifică perioada de timp în care se refuză conectarea clienților cărora li s-a interzis administrativ conectarea prin opțiunea RefuseConnection (implicit: 10s).
Specifică cât timp trebuie să se refuze clienții care se deconectează fără a încerca autentificarea (implicit: 1s). Acest timp limită trebuie utilizat cu prudență, altfel poate penaliza instrumentele de scanare legitime precum ssh-keyscan(1).
Specifică cât timp trebuie să se refuze clienții care nu reușesc să se autentifice după LoginGraceTime (implicit: 10s).
Specifică durata maximă pentru care accesul la o anumită gamă de adrese sursă va fi refuzat (implicit: 10m). Penalitățile repetate se vor acumula până la acest maxim.
Specifică penalizarea minimă care trebuie să se acumuleze înainte de începerea aplicării (implicit: 15s).
, max-sources6:number
Specifică numărul maxim de intervale de adrese IPv4 și IPv6 ale clienților care trebuie urmărite pentru penalizări (implicit: 65536 pentru ambele).
Controlează modul în care serverul se comportă atunci când numărul max-sources4 sau max-sources6 este depășit. Există două moduri de operare: deny-all, care refuză toate conexiunile primite, altele decât cele exceptate prin PerSourcePenaltyExemptList până la expirarea unei penalizări, și permissive, care permite conexiuni noi prin eliminarea anticipată a penalizărilor existente (implicit: permissive). Rețineți că penalizările clienților sub pragul min sunt luate în considerare la numărul total de penalizări urmărite. Adresele IPv4 și IPv6 sunt urmărite separat, astfel încât o depășire în una dintre ele nu o va afecta pe cealaltă.
Permite specificarea unui mod de depășire diferit pentru adresele IPv6. Modalitatea implicită este de a utiliza același mod de depășire specificat pentru IPv4.
Specifică o listă de adrese, separate prin virgule, care urmează să fie exceptate de la sancțiuni. Această listă poate conține caractere joker și intervale de adrese/lungime-mască CIDR. Rețineți că lungimea măștii furnizate trebuie să fie în concordanță cu adresa - este o eroare să specificați o lungime a măștii care este prea mare pentru adresă sau una cu biți definiți în această porțiune de gazdă a adresei. De exemplu, 192.0.2.0/33 și, respectiv, 192.0.2.0/8. Valoarea implicită este de a nu excepta nicio adresă.
Specifică fișierul care conține ID-ul de proces al demonului SSH sau none pentru a nu scrie unul. Valoarea implicită este /run/sshd.pid.
Specifică numărul portului pe care sshd(8) ascultă. Valoarea implicită este 22. Sunt permise opțiuni multiple de acest tip. Consultați și ListenAddress.
Specifică dacă sshd(8) ar trebui să imprime data și ora ultimei conectări a utilizatorului atunci când un utilizator se conectează interactiv. Valoarea implicită este yes.
Specifică dacă sshd(8) trebuie să imprime /etc/motd atunci când un utilizator se conectează interactiv. (Pe unele sisteme este imprimat de asemenea de shell, /etc/profile, sau echivalent). Valoarea implicită este yes.
Specifică algoritmii de semnătură care vor fi acceptați pentru autentificarea cu cheie publică ca o listă de modele separate prin virgule. Alternativ, dacă lista specificată începe cu un caracter ‘+’, atunci algoritmii specificați vor fi adăugați la setul implicit în loc să fie înlocuiți. Dacă lista specificată începe cu un caracter ‘-’, atunci algoritmii specificați (inclusiv cu caracterele joker) vor fi eliminați din setul implicit în loc să fie înlocuiți. Dacă lista specificată începe cu un caracter ‘^’, atunci algoritmii specificați vor fi plasați la începutul setului implicit. Valoarea implicită pentru această opțiune este:
ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
sk-ssh-ed25519-cert-v01@openssh.com,
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
rsa-sha2-512-cert-v01@openssh.com,
rsa-sha2-256-cert-v01@openssh.com,
ssh-ed25519,
ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256

Lista algoritmilor de semnătură disponibili poate fi de asemenea obținută utilizând "ssh -Q PubkeyAcceptedAlgorithms".

Definește una sau mai multe opțiuni de autentificare cu cheie publică. Cuvintele cheie acceptate sunt: none (implicit; indică faptul că nu sunt activate opțiuni suplimentare), touch-required și verify-required.

Opțiunea touch-required face ca autentificarea cu cheie publică utilizând un algoritm de autentificare FIDO (de exemplu, ecdsa-sk sau ed25519-sk) să necesite întotdeauna semnătura pentru a atesta că un utilizator prezent fizic a confirmat în mod explicit autentificarea (de obicei prin atingerea autentificatorului). În mod implicit, sshd(8) necesită prezența utilizatorului, cu excepția cazului în care este suprascrisă cu o opțiune authorized_keys. Fanionul touch-required dezactivează această înlocuire.

Opțiunea verify-required necesită o semnătură a cheii FIDO care să ateste că utilizatorul a fost verificat, de exemplu, prin intermediul unui cod PIN.

Nici opțiunea touch-required și nici opțiunea verify-required nu au vreun efect pentru alte tipuri de chei publice, non-FIDO.

Specifică dacă este permisă autentificarea cu cheie publică. Valoarea implicită este yes.
Indică faptul că sshd(8) ar trebui să încheie necondiționat conexiunea. În plus, o penalizare refuseconnection poate fi înregistrată asupra sursei conexiunii dacă PerSourcePenalties este activată. Această opțiune este cu adevărat utilă numai într-un bloc Match.
Specifică cantitatea maximă de date care pot fi transmise sau primite înainte ca cheia de sesiune să fie renegociată, urmată opțional de o cantitate maximă de timp care poate trece înainte ca cheia de sesiune să fie renegociată. Primul argument este specificat în octeți și poate avea un sufix ‘K’, ‘M’ sau ‘G’ pentru a indica kiloocteți, megaocteți sau, respectiv, gigaocteți. Valoarea implicită este între ‘1G’ și ‘4G’, în funcție de cifru. A doua valoare opțională este specificată în secunde și poate utiliza oricare dintre unitățile documentate în secțiunea FORMATE DE TIMP. Valoarea implicită pentru RekeyLimit este default none, ceea ce înseamnă că rescrierea este efectuată după ce a fost trimisă sau primită cantitatea de date implicită a cifrului și nu se efectuează rescrierea în funcție de timp.
Specifică dimensiunea minimă a cheii RSA (în biți) pe care sshd(8) o va accepta. Cheile de autentificare bazate pe utilizator și gazdă mai mici decât această limită vor fi refuzate. Valoarea implicită este de 1024 biți. Rețineți că această limită poate fi ridicată numai față de valoarea implicită.
Specifică fișierul de chei publice revocate sau none pentru a nu utiliza unul. Cheile listate în acest fișier vor fi refuzate pentru autentificarea cu cheie publică. Rețineți că, dacă acest fișier nu poate fi citit, atunci autentificarea prin cheie publică va fi refuzată pentru toți utilizatorii. Cheile pot fi specificate sub forma unui fișier text, care enumeră o cheie publică pe linie, sau sub forma unei liste de revocare a cheilor OpenSSH (KRL) generată de ssh-keygen(1). Pentru mai multe informații despre KRL-uri, consultați secțiunea LISTE DE REVOCARE A CHEILOR din ssh-keygen(1).
Specifică o rută către o bibliotecă care va fi utilizată la încărcarea oricăror chei găzduite de autentificatorul FIDO, înlocuind opțiunea implicită de utilizare a suportului USB HID încorporat.
Specifică una sau mai multe variabile de mediu care trebuie definite în sesiunile copil pornite de sshd(8) ca “NUME=VALOARE”. Valoarea variabilei de mediu poate fi pusă între ghilimele (de exemplu, dacă conține caractere de spațiu alb). Variabilele de mediu definite de SetEnv prevalează asupra mediului implicit și asupra oricăror variabile specificate de utilizator prin AcceptEnv sau PermitUserEnvironment.
Suprascrie ruta implicită către binarul sshd-auth care este invocat pentru a finaliza autentificarea utilizatorului. Valoarea implicită este /usr/lib/openssh/sshd-auth. Această opțiune este destinată utilizării de către teste.
Suprascrie ruta implicită către binarul sshd-session care este invocat pentru a gestiona fiecare conexiune. Valoarea implicită este /usr/lib/openssh/sshd-session. Această opțiune este destinată utilizării de către teste.
Stabilește masca octală a modului de creare a fișierului (umask) utilizată la crearea unui fișier soclu de domeniu Unix pentru redirecționarea porturilor locale sau la distanță. Această opțiune este utilizată numai pentru redirecționarea porturilor către un fișier soclu de domeniu Unix.

Valoarea implicită este 0177, care creează un fișier soclu de domeniu Unix care poate fi citit și scris numai de către proprietar. Rețineți că nu toate sistemele de operare respectă modul de fișier al fișierelor soclu de domeniu Unix.

Specifică dacă să se elimine un fișier soclu de domeniu Unix existent pentru redirecționarea portului local sau la distanță înainte de a crea unul nou. Dacă fișierul soclu există deja și StreamLocalBindUnlink nu este activată, sshd nu va putea transmite portul către fișierul soclu de domeniu Unix. Această opțiune este utilizată numai pentru redirecționarea portului către un fișier soclu de domeniu Unix.

Argumentul trebuie să fie yes sau no. Valoarea implicită este no.

Specifică dacă sshd(8) ar trebui să verifice modurile (permisiunile) fișierelor și proprietarul fișierelor utilizatorului și al directorului personal înainte de a accepta autentificarea. În mod normal, acest lucru este de dorit, deoarece începătorii își lasă uneori din greșeală directorul sau fișierele cu posibilitatea de a le scrie toată lumea. Valoarea implicită este yes. Rețineți că acest lucru nu se aplică la ChrootDirectory, ale cărui permisiuni și proprietar sunt verificate necondiționat.
Configurează un subsistem extern (de exemplu, un demon de transfer de fișiere). Argumentele trebuie să fie un nume de subsistem și o comandă (cu argumente opționale) de executat la solicitarea subsistemului.

Comanda sftp-server implementează subsistemul de transfer de fișiere SFTP.

Alternativ, numele internal-sftp implementează un server SFTP în proces. Acest lucru poate simplifica configurațiile care utilizează ChrootDirectory pentru a forța o rădăcină diferită a sistemului de fișiere pentru clienți. Acesta acceptă aceleași argumente de linie de comandă ca și sftp-server și chiar dacă este în proces, opțiuni precum LogLevel sau SyslogFacility nu i se aplică și trebuie să fie stabilite explicit prin intermediul argumentelor de linie de comandă.

În mod implicit, nu sunt definite subsisteme.

Oferă codul facilității care este utilizat la înregistrarea mesajelor de la sshd(8). Valorile posibile sunt: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. Valoarea implicită este AUTH.
Specifică dacă sistemul trebuie să trimită mesaje TCP „keepalive” celeilalte părți. Dacă acestea sunt trimise, moartea conexiunii sau prăbușirea uneia dintre mașini va fi observată în mod corespunzător. Cu toate acestea, acest lucru înseamnă că conexiunile vor muri dacă ruta este căzută temporar, iar unele persoane consideră acest lucru enervant. Pe de altă parte, dacă mesajele TCP „keepalives” nu sunt trimise, sesiunile se pot bloca indefinit pe server, lăsând "ghost" utilizatorilor și consumând resursele serverului.

Valoarea implicită este yes (pentru a trimite mesaje TCP keepalive), iar serverul va observa dacă rețeaua nu funcționează sau dacă gazda clientului se blochează. Acest lucru evită suspendarea infinită a sesiunilor.

Pentru a dezactiva mesajele TCP keepalive, valoarea trebuie să fie stabilită la no.

Această opțiune era denumită anterior KeepAlive.

Specifică un fișier care conține cheile publice ale autorităților de certificare (CA) care sunt de încredere pentru a semna certificatele de utilizator pentru autentificare sau none pentru a nu utiliza unul. Cheile sunt listate una pe linie; sunt permise liniile goale și comentariile care încep cu ‘#’. Dacă un certificat este prezentat pentru autentificare și are cheia CA de semnare listată în acest fișier, atunci acesta poate fi utilizat pentru autentificarea oricărui utilizator listat în lista „principals” a certificatului. Rețineți că certificatele care nu au o listă de principali nu vor fi permise pentru autentificare utilizând TrustedUserCAKeys. Pentru mai multe detalii privind certificatele, consultați secțiunea CERTIFICATE din ssh-keygen(1).
Specifică dacă și cât de repede sshd(8) trebuie să închidă conexiunile clienților fără canale deschise. Canalele deschise includ shell-ul activ, execuția de comenzi sau sesiuni de subsistem, rețeaua conectată, soclu, agent sau redirecționările X11. Ascultătorii de redirecționare, cum ar fi cei din fanionul ssh(1) -R, nu sunt considerați canale deschise și nu împiedică timpul limită. Valoarea timpului de așteptare este specificată în secunde sau poate utiliza oricare dintre unitățile documentate în secțiunea FORMATE DE TIMP.

Rețineți că acest timp de așteptare începe atunci când conexiunea clientului finalizează autentificarea utilizatorului, dar înainte ca clientul să aibă posibilitatea de a deschide orice canal. Trebuie folosită prudența atunci când se utilizează valori scurte ale timpului de așteptare, deoarece este posibil ca acestea să nu ofere suficient timp pentru ca clientul să solicite și să își deschidă canalele înainte de terminarea conexiunii.

Valoarea implicită none este de a nu expira niciodată conexiunile pentru că nu au canale deschise. Această opțiune poate fi utilă în combinație cu ChannelTimeout.

Specifică dacă sshd(8) ar trebui să caute numele gazdei la distanță și să verifice dacă numele gazdei rezolvat pentru adresa IP la distanță corespunde aceleiași adrese IP.

Dacă această opțiune este stabilită la no (valoarea implicită), atunci în directivele ~/.ssh/authorized_keys from și sshd_config Match Host pot fi utilizate doar adrese și nu nume de gazdă.

Activează interfața Pluggable Authentication Module. Dacă este definită la yes, aceasta va permite autentificarea PAM utilizând KbdInteractiveAuthentication și PasswordAuthentication în plus față de procesarea contului PAM și a modulului de sesiune pentru toate tipurile de autentificare.

Deoarece autentificarea interactivă la tastatură PAM are de obicei un rol echivalent cu autentificarea prin parolă, trebuie să dezactivați fie PasswordAuthentication, fie KbdInteractiveAuthentication.

Dacă UsePAM este activată, nu veți putea executa sshd(8) ca utilizator non-root. Valoarea implicită este no.

Specifică opțional textul suplimentar care se adaugă la mesajul de întâmpinare al protocolului SSH trimis de server la conectare. Valoarea implicită este none.
Specifică primul număr de afișaj disponibil pentru redirecționarea sshd(8)'s X11. Acest lucru împiedică sshd să interfereze cu serverele X11 reale. Valoarea implicită este 10.
Specifică dacă este permisă redirecționarea X11. Argumentul trebuie să fie yes sau no. Valoarea implicită este no.

Atunci când redirecționarea X11 este activată, poate exista o expunere suplimentară la server și la afișajele clienților dacă afișajul proxy sshd(8) este configurat să asculte la adresa substituentă (a se vedea X11UseLocalhost), deși acest lucru nu este implicit. În plus, falsificarea autentificării și verificarea și substituirea datelor de autentificare au loc pe partea clientului. Riscul de securitate al utilizării redirecționării X11 este că serverul de afișare X11 al clientului poate fi expus atacurilor atunci când clientul SSH solicită redirecționarea (a se vedea avertismentele pentru ForwardX11 în ssh_config(5)). Un administrator de sistem poate avea o poziție în care dorește să protejeze clienții care se pot expune la atacuri prin solicitarea involuntară a redirecționării X11, ceea ce poate justifica o valoare no.

Rețineți că dezactivarea redirecționării X11 nu împiedică utilizatorii să redirecționeze traficul X11, deoarece utilizatorii își pot instala întotdeauna propriile redirecționări.

Specifică dacă sshd(8) trebuie să lege serverul de redirecționare X11 la adresa loopback sau la adresa substituentă. În mod implicit, sshd leagă serverul de redirecționare la adresa loopback și definește partea de nume de gazdă a variabilei de mediu DISPLAY la localhost. Acest lucru împiedică gazdele de la distanță să se conecteze la afișajul proxy. Cu toate acestea, este posibil ca unii clienți X11 mai vechi să nu funcționeze cu această configurație. X11UseLocalhost poate fi stabilită la no pentru a specifica faptul că serverul de redirecționare trebuie să fie legat la adresa substituentă. Argumentul trebuie să fie yes sau no. Valoarea implicită este yes.
Specifică numele complet al programului xauth(1), sau none pentru a nu utiliza unul. Valoarea implicită este /usr/bin/xauth.

FORMATE DE TIMP

Argumentele din linia de comandă sshd(8) și opțiunile din fișierele de configurare care specifică timpul pot fi exprimate folosind o secvență de forma: timp[simbol], unde timp este o valoare întreagă pozitivă și simbol este una dintre următoarele:

niciunul
secunde
|
secunde
|
minute
|
ore
|
zile
|
săptămâni

Fiecare membru al secvenței este adunat pentru a calcula valoarea totală a timpului.

Exemple de format de timp:

600
600 secunde (10 minute)
10m
10 minute
1h30m
1 oră 30 minute (90 minute)

SIMBOLURI

Argumentele la unele cuvinte cheie pot utiliza simboluri, care sunt expandate în timpul execuției:

%%
Un literal ‘%’.
%C
Identifică punctele finale ale conexiunii, conținând patru valori separate prin spațiu: adresa clientului, numărul portului clientului, adresa serverului și numărul portului serverului.
%D
Domeniul de direcționare în care a fost primită conexiunea de intrare.
%F
Amprenta digitală a cheii CA (autorității de certificare).
%f
Amprenta digitală a cheii sau a certificatului.
%h
Directorul personal al utilizatorului.
%i
ID-ul cheii din certificat.
%K
Cheia CA codificată în base64.
%k
Cheia sau certificatul codificate în base64 pentru autentificare.
%s
Numărul de serie al certificatului.
%T
Tipul cheii CA.
%t
Tipul cheii sau al certificatului.
%U
ID-ul numeric de utilizator al utilizatorului țintă.
%u
Numele utilizatorului.

AuthorizedKeysCommand acceptă simbolurile %%, %C, %D, %f, %h, %k, %t, %U și %u.

AuthorizedKeysFile acceptă simbolurile %%, %h, %U, și %u.

AuthorizedPrincipalsCommand acceptă simbolurile %%, %C, %D, %F, %f, %h, %i, %K, %k, %s, %T, %t, %U, și %u.

AuthorizedPrincipalsFile acceptă simbolurile %%, %h, %U, și %u.

ChrootDirectory acceptă simbolurile %%, %h, %U, și %u.

FIȘIERE

/etc/ssh/sshd_config
Conține date de configurare pentru sshd(8). Acest fișier ar trebui să poată fi scris numai de către root, dar se recomandă (deși nu este necesar) ca el să poată fi citit de toată lumea.

CONSULTAȚI ȘI

sftp-server(8), sshd(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 readăugat caracteristici mai 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 în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți 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.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net

$Mdocdate: 15 februarie 2025 $ Debian