SSH-KEYGEN(1) General Commands Manual SSH-KEYGEN(1) NUME ssh-keygen - instrument pentru cheile de autentificare OpenSSH SINOPSIS ssh-keygen [-q] [-a runde] [-b bits] [-C comentariu] [-f fiier-cheie_de_ieire] [-m format] [-N fraza-de-acces_noua] [-O opiune] [-t ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa] [-w furnizor] [-Z cifrarea] ssh-keygen -p [-a runde] [-f fiier-cheie] [-m format] [-N fraza-de-acces_noua] [-P fraza-de-acces_veche] [-Z cifrarea] ssh-keygen -i [-f fiier-cheie_de_intrare] [-m format-cheie] ssh-keygen -e [-f fiier-cheie_de_intrare] [-m format-cheie] ssh-keygen -y [-f fiier-cheie_de_intrare] ssh-keygen -c [-a runde] [-C comentariu] [-f fiier-cheie] [-P fraza-acces] ssh-keygen -l [-v] [-E hash-fingerprint] [-f fiier-cheie_de_intrare] ssh-keygen -B [-f fiier-cheie_de_intrare] ssh-keygen -D pkcs11 ssh-keygen -F nume-gazda [-lv] [-f fiier-gazde-cunoscute] ssh-keygen -H [-f fiier-gazde-cunoscute] ssh-keygen -K [-a runde] [-w furnizor] ssh-keygen -R nume-gazda [-f fiier-gazde-cunoscute] ssh-keygen -r nume-gazda [-g] [-f fiier-cheie_de_intrare] ssh-keygen -M generate [-O opiune] fiier_ieire ssh-keygen -M screen [-f fiier_intrare] [-O opiune] fiier_ieire ssh-keygen -I identitate_certificat -s ca_key [-hU] [-D pkcs11_provider] [-n principali] [-O opiune] [-V interval-valabilitate] [-z numar-serie] file ... ssh-keygen -L [-f fiier-cheie_de_intrare] ssh-keygen -A [-a runde] [-f prefix-ruta] ssh-keygen -k -f fiier-krl [-u] [-s public-CA] [-z numar-versiune] file ... ssh-keygen -Q [-l] -f fiier-krl file ... ssh-keygen -Y find-principals [-O opiune] -s fiier-semnatura -f fiier-semnatari-autorizai ssh-keygen -Y match-principals -I identitate-semnatar -f fiier-semnatari-autorizai ssh-keygen -Y check-novalidate [-O opiune] -n spaiu-nume -s fiier-semnatura ssh-keygen -Y sign [-O opiune] -f fiier-cheie -n spaiu-nume file ... ssh-keygen -Y verify [-O opiune] -f fiier-semnatari-autorizai -I identitate-semnatar -n spaiu-nume -s fiier-semnatura [-r fiier-revocare] DESCRIERE ssh-keygen genereaza, gestioneaza i convertete cheile de autentificare pentru ssh(1). ssh-keygen poate crea chei pentru a fi utilizate de protocolul SSH versiunea 2. Tipul de cheie care urmeaza sa fie generat este specificat cu ajutorul opiunii -t. In cazul in care este invocat fara niciun argument, ssh-keygen va genera o cheie Ed25519. ssh-keygen este, de asemenea, utilizat pentru a genera grupuri pentru utilizarea in schimbul de grupuri Diffie-Hellman (DH-GEX). A se vedea seciunea GENERAREA DE MODULI pentru detalii. In sfarit, ssh-keygen poate fi utilizat pentru a genera i actualiza listele de revocare a cheilor i pentru a testa daca anumite chei au fost revocate de una dintre acestea. Pentru detalii, consultai seciunea LISTE DE REVOCARE A CHEILOR. In mod normal, fiecare utilizator care dorete sa utilizeze SSH cu autentificare cu cheie publica executa aceasta operaie o singura data pentru a crea cheia de autentificare in ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519, ~/.ssh/id_ed25519_sk sau ~/.ssh/id_rsa. In plus, administratorul de sistem poate folosi acest lucru pentru a genera chei de gazda, aa cum se vede in /etc/rc. In mod normal, acest program genereaza cheia i solicita un fiier in care sa fie stocata cheia privata. Cheia publica este stocata intr-un fiier cu acelai nume, dar cu meniunea ".pub". Programul solicita, de asemenea, o fraza de acces. Fraza de acces poate fi goala pentru a indica faptul ca nu exista o fraza de acces (cheile gazda trebuie sa aiba o fraza de acces goala) sau poate fi un ir de lungime arbitrara. O fraza de acces este similara cu o parola, cu excepia faptului ca poate fi o fraza cu o serie de cuvinte, semne de punctuaie, numere, spaii albe sau orice ir de caractere pe care il dorii. Frazele de acces bune au o lungime de 10-30 de caractere, nu sunt propoziii simple sau uor de ghicit (proza in limba engleza are doar 1-2 bii de entropie per caracter i ofera fraze de acces foarte proaste) i conin un amestec de litere majuscule i minuscule, numere i caractere non-alfanumerice. Fraza de acces poate fi modificata ulterior prin utilizarea opiunii -p. Nu exista nicio modalitate de a recupera o fraza de acces pierduta. In cazul in care fraza de acces este pierduta sau uitata, trebuie generata o noua cheie i cheia publica corespunzatoare trebuie copiata pe alte maini. ssh-keygen va scrie in mod implicit cheile intr-un format specific OpenSSH. Acest format este preferat deoarece ofera o protecie mai buna pentru cheile in repaus i permite stocarea comentariilor privind cheile in fiierul de chei private. Comentariul cheii poate fi util pentru a ajuta la identificarea cheii. Comentariul este iniializat la "utilizator@gazda" atunci cand cheia este creata, dar poate fi modificat cu ajutorul opiunii -c. Este in continuare posibil ca ssh-keygen sa scrie cheile private in formatul PEM utilizat anterior, utilizand opiunea -m. Aceasta poate fi utilizata la generarea de chei noi, iar cheile existente in format nou pot fi convertite utilizand aceasta opiune impreuna cu opiunea -p (schimbare fraza de acces). Dupa ce o cheie este generata, ssh-keygen va intreba unde trebuie plasate cheile pentru a fi activate. Opiunile sunt urmatoarele: -A Genereaza chei de gazda pentru toate tipurile de chei implicite (rsa, ecdsa i ed25519), daca nu exista deja. Cheile de gazda sunt generate cu ruta implicita a fiierului de chei, o fraza de acces goala, bii implicii pentru tipul de cheie i un comentariu implicit. Daca a fost specificata i -f, argumentul sau este utilizat ca prefix pentru ruta implicita pentru fiierele de chei de gazda rezultate. Aceasta este utilizata de /etc/rc pentru a genera noi chei gazda. -a runde La salvarea unei chei private, aceasta opiune specifica numarul de runde KDF (funcia de derivare a cheilor, in prezent bcrypt_pbkdf(3)) utilizate. Un numar mai mare duce la o verificare mai lenta a frazei de acces i la o rezistena mai mare la spargerea prin fora bruta a parolei (in cazul in care cheile sunt furate). Valoarea implicita este de 16 runde. -B Afieaza suma de control in formatul ,,bubblebabble" a fiierului de chei private sau publice specificat. -b bii Specifica numarul de bii din cheia care urmeaza sa fie creata. Pentru cheile RSA, dimensiunea minima este de 1024 de bii, iar cea implicita este de 3072 de bii. In general, 3072 de bii este considerata suficienta. Pentru cheile ECDSA, opiunea -b determina lungimea cheii prin selectarea uneia dintre cele trei dimensiuni ale curbei eliptice: 256, 384 sau 521 de bii. Incercarea de a utiliza alte lungimi de bii decat aceste trei valori pentru cheile ECDSA va eua. Cheile ECDSA-SK, Ed25519 i Ed25519-SK au o lungime fixa, iar opiunea -b va fi ignorata. -C comentariu Furnizeaza un comentariu nou. -c Solicita modificarea comentariului din fiierele de chei private i publice. Programul va solicita fiierul care conine cheile private, fraza de acces, daca cheia are una, i noul comentariu. -D pkcs11 Descarca cheile publice furnizate de biblioteca partajata PKCS#11 pkcs11. Atunci cand este utilizata in combinaie cu -s, aceasta opiune indica faptul ca o cheie a autoritaii de certificare (CA) se afla intr-un jeton PKCS#11 (a se vedea seciunea CERTIFICATE pentru detalii). -E hash-fingerprint Specifica algoritmul sumei de control utilizat la afiarea amprentelor cheilor. Opiunile valide sunt: "md5" i "sha256". Opiunea implicita este "sha256". -e Aceasta opiune va citi un fiier de chei private sau publice OpenSSH i va afia la ieirea standard o cheie publica intr-unul dintre formatele specificate de opiunea -m. Formatul de export implicit este "RFC4716". Aceasta opiune permite exportarea cheilor OpenSSH pentru a fi utilizate de alte programe, inclusiv de mai multe implementari SSH comerciale. -F nume-gazda | [nume-gazda]:port Cauta nume-gazda specificat (cu numarul opional al portului) intr-un fiier known_hosts, enumerand toate apariiile gasite. Aceasta opiune este utila pentru a gasi nume de gazde sau adrese transformate in sume de control i poate fi utilizata, de asemenea, impreuna cu opiunea -H pentru a imprima cheile gasite intr-un format de suma de control. -f nume-fiier Specifica numele de fiier al fiierului de chei. -g Utilizeaza formatul generic DNS la imprimarea inregistrarilor de resurse de ,,amprenta digitala" (fingerprint) cu ajutorul comenzii -r. -H Transforma coninutul unui fiier known_hosts in sume de control. Aceasta inlocuiete toate numele de gazda i adresele cu reprezentari sub forma de suma de control in fiierul specificat; coninutul original este mutat intr-un fiier cu sufixul .old. Aceste sume de control pot fi utilizate in mod normal de catre ssh i sshd, dar nu dezvaluie informaii de identificare in cazul in care coninutul fiierului ar fi dezvaluit. Aceasta opiune nu va modifica numele de gazda haurate existente i, prin urmare, este sigura pentru a fi utilizata in fiiere care amesteca nume convertite in sume de control i nume neconvertite in sume de control. -h Atunci cand semnai o cheie, creai un certificat de gazda in loc de un certificat de utilizator. Consultai seciunea CERTIFICATE pentru detalii. -I identitate_certificat Specifica identitatea cheii atunci cand se semneaza o cheie publica. Consultai seciunea CERTIFICATE pentru detalii. -i Aceasta opiune va citi un fiier de chei private (sau publice) necriptate in formatul specificat de opiunea -m i va imprima o cheie privata (sau publica) compatibila cu OpenSSH la ieirea standard (stdout). Aceasta opiune permite importarea cheilor din alte programe, inclusiv din mai multe implementari SSH comerciale. Formatul de import implicit este "RFC4716". -K Descarca cheile rezidente de la un autentificator FIDO. Fiierele de chei publice i private vor fi scrise in directorul curent pentru fiecare cheie descarcata. In cazul in care sunt ataai mai muli autentificatori FIDO, cheile vor fi descarcate de la primul autentificator accesat. Consultai seciunea AUTENTIFICATOR FIDO pentru mai multe informaii. -k Genereaza un fiier KRL. In acest mod, ssh-keygen va genera un fiier KRL la locaia specificata prin intermediul opiunii -f care revoca fiecare cheie sau certificat prezentat in linia de comanda. Cheile/certificatele care urmeaza sa fie revocate pot fi specificate prin fiierul de chei publice sau utilizand formatul descris in seciunea LISTE DE REVOCARE A CHEILOR. -L Afieaza coninutul unuia sau mai multor certificate. -l Afieaza amprenta digitala a fiierului de chei publice specificat. ssh-keygen va incerca sa gaseasca fiierul cu cheia publica corespunzatoare i ii va imprima amprenta. Daca este combinata cu opiunea -v, impreuna cu amprenta digitala se furnizeaza o reprezentare vizuala ASCII a cheii. -M generate Genereaza parametri candidai pentru schimbul de grup Diffie- Hellman (DH-GEX) pentru o eventuala utilizare de catre metodele de schimb de chei `diffie-hellman-group-exchange-*'. Numerele generate de aceasta operaie trebuie sa fie verificate in continuare inainte de utilizare. Pentru mai multe informaii, consultai seciunea GENERAREA DE MODULI. -M screen Verifica parametrii candidai pentru schimbul de grupuri Diffie-Hellman. Aceasta va accepta o lista de numere candidate i va testa daca acestea sunt numere prime sigure (Sophie Germain) cu generatori de grup acceptabili. Rezultatele acestei operaii pot fi adaugate la fiierul /etc/ssh/moduli. Pentru mai multe informaii, consultai seciunea GENERAREA DE MODULI. -m format-cheie Specifica un format de cheie pentru generarea cheii, opiunile de conversie -i (import), -e (export) i operaia -p de modificare a frazei de acces. Aceasta din urma poate fi utilizata pentru a converti intre formatele de chei private OpenSSH i de chei private PEM. Formatele de chei acceptate sunt: "RFC4716" (cheie publica sau privata RFC 4716/SSH2), "PKCS8" (cheie publica sau privata PKCS8) sau "PEM" (cheie publica PEM). In mod implicit, OpenSSH va scrie cheile private nou-generate in propriul format, dar atunci cand convertete cheile publice pentru export, formatul implicit este "RFC4716". Definirea unui format "PEM" atunci cand se genereaza sau se actualizeaza un tip de cheie privata acceptat va face ca cheia sa fie stocata in formatul tradiional al cheilor private PEM. -N fraza-de-acces_noua Furnizeaza noua fraza de acces. -n principale Specifica unul sau mai muli principali (nume de utilizatori sau de gazde) care urmeaza sa fie inclui intr-un certificat la semnarea unei chei. Se pot specifica mai muli principali, separai prin virgule. Pentru detalii, consultai seciunea CERTIFICATE. -O opiune Specifica o opiune cheie/valoare. Acestea sunt specifice operaiei pe care ssh-keygen a fost solicitat sa o efectueze. La semnarea certificatelor, se poate specifica aici una dintre opiunile enumerate in seciunea CERTIFICATE. Atunci cand se efectueaza generarea sau verificarea de moduli, se poate specifica una dintre opiunile enumerate in seciunea GENERAREA DE MODULI. La generarea cheilor bazate pe autentificatorul FIDO, pot fi specificate opiunile enumerate in seciunea AUTENTIFICATOR FIDO. Atunci cand se executa opiuni legate de semnatura cu ajutorul fanionului -Y, sunt acceptate urmatoarele opiuni: hashalg=algoritm Selecteaza algoritmul de suma de control care urmeaza sa fie utilizat pentru calcularea sumei de control a mesajului care urmeaza sa fie semnat. Algoritmii valabili sunt "sha256" i "sha512." Valoarea implicita este "sha512.". print-pubkey Afieaza cheia publica completa la ieirea standard dupa verificarea semnaturii. verify-time=marcaj-timp Specifica timpul care sa fie utilizat la validarea semnaturilor in locul timpului curent. Timpul poate fi specificat ca data sau ora in format AAAALLZZ[Z] sau AAAALLZZHHMM[SS][Z]. Datele i orele vor fi interpretate in fusul orar curent al sistemului, cu excepia cazului in care sunt sufixate cu un caracter Z, ceea ce face ca acestea sa fie interpretate in fusul orar UTC. Atunci cand se genereaza inregistrari DNS SSHFP din chei publice utilizand fanionul -r, sunt acceptate urmatoarele opiuni: hashalg=algoritm Selecteaza un algoritm de suma de control (hash) care sa fie utilizat la imprimarea inregistrarilor SSHFP utilizand opiunea -D. Algoritmii valabili sunt "sha1" i "sha256". Valoarea implicita este de a le imprima pe ambele. Opiunea -O poate fi specificata de mai multe ori. -P fraza-de-acces Furnizeaza fraza de acces (veche). -p Solicita modificarea frazei de acces a unui fiier de chei private in loc de crearea unei noi chei private. Programul va solicita fiierul care conine cheia privata, vechea fraza de acces i de doua ori noua fraza de acces. -Q Testeaza daca cheile au fost revocate intr-un fiier KRL. Daca este specificata i opiunea -l, se va afia coninutul KRL. -q Face ca ssh-keygen sa opereze silenios. -R nume-gazda | [nume-gazda]:port Elimina toate cheile aparinand nume-gazda specificat (cu numarul opional al portului) dintr-un fiier known_hosts. Aceasta opiune este utila pentru a terge gazdele cu numele convertit in suma de control (a se vedea opiunea -H de mai sus). -r nume-gazda Afieaza inregistrarea resurselor de amprenta SSHFP numita nume-gazda pentru fiierul de chei publice specificat. -s cheie_CA Certifica (semneaza) o cheie publica utilizand cheia CA specificata. Pentru detalii, consultai seciunea CERTIFICATE. Atunci cand se genereaza un fiier KRL, -s specifica o ruta catre un fiier de chei publice de CA utilizat pentru a revoca certificatele direct dupa ID-ul cheii sau numarul de serie. Pentru detalii, consultai seciunea LISTE DE REVOCARE A CHEILOR. -t ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa Specifica tipul de cheie care trebuie creata. Valorile posibile sunt "ecdsa", "ecdsa-sk", "ed25519", "ed25519-sk" sau "rsa". Aceasta opiune poate fi utilizata, de asemenea, pentru a specifica tipul de semnatura dorit atunci cand se semneaza certificate care utilizeaza o cheie RSA CA. Variantele de semnatura RSA disponibile sunt "ssh-rsa" (semnaturi SHA1, nerecomandate), "rsa-sha2-256" i "rsa-sha2-512" (varianta implicita). -U Atunci cand este utilizata in combinaie cu -s sau -Y sign, aceasta opiune indica faptul ca o cheie CA se afla intr-un ssh-agent(1). Pentru mai multe informaii, consultai seciunea CERTIFICATE. -u Actualizeaza un fiier KRL. Atunci cand este specificat cu -k, cheile enumerate prin linia de comanda sunt adaugate la KRL-ul existent, in loc sa fie creat un nou KRL. -V interval_valabilitate Specifica un interval de valabilitate la semnarea unui certificat. Un interval de valabilitate poate consta dintr-un singur moment, indicand ca certificatul este valabil incepand din acest moment i expirand in acel moment, sau poate consta din doua momente separate de doua puncte pentru a indica un interval de timp explicit. Momentul de incepere poate fi specificat astfel: o irul "always" pentru a indica faptul ca certificatul nu are o ora de incepere specificata. o O data sau o ora in fusul orar al sistemului, formatata ca AAAALLZZ sau AAAALLZZHHMM[SS]. o O data sau o ora in fusul orar UTC sub forma AAAALLZZZ sau AAAALLZZHHMM[SS]Z. o O ora relativa inaintea orei curente a sistemului, formata dintr-un semn minus urmat de un interval in formatul descris in seciunea FORMATE DE TIMP din sshd_config(5). o Un numar brut de secunde de la inceputul epocii (1 ianuarie 1970 00:00:00:00 UTC) sub forma unui numar hexazecimal care incepe cu "0x". Momentul de sfarit poate fi specificat in mod similar cu momentul de inceput: o irul de caractere "forever" pentru a indica faptul ca certificatul nu are un termen de expirare specificat. o O data sau o ora in fusul orar al sistemului, formatata ca AAAALLZZ sau AAAALLZZHHMM[SS]. o O data sau o ora in fusul orar UTC sub forma AAAALLZZZ sau AAAALLZZHHMM[SS]Z. o O ora relativa dupa ora curenta a sistemului, formata dintr- un semn plus urmat de un interval in formatul descris in seciunea FORMATE DE TIMP din sshd_config(5). o Un numar brut de secunde de la inceputul epocii (1 ianuarie 1970 00:00:00:00 UTC) sub forma unui numar hexazecimal care incepe cu "0x". De exemplu: +52w1d Valabil de acum pana la 52 de saptamani i o zi de acum incolo. -4w:+4w Valabil de acum patru saptamani pana la patru saptamani de acum incolo. 20230101123000:20240101123000 Valabil de la ora 12:30 PM, 1 ianuarie 2023 pana la ora 12:30 PM, 1 ianuarie 2024. 20230101123000Z:20240101123000Z Similar, dar interpretat in fusul orar UTC i nu in fusul orar al sistemului. -1d:20250101 Valabil de ieri pana la miezul nopii, 1 ianuarie 2025. 0x1:0x2000000000 Valabil aproximativ de la inceputul anului 1970 pana in mai 2033. -1m:forever Valabil incepand cu un minut in urma i nu expira niciodata. -v Modul descriptiv. Face ca ssh-keygen sa afieze mesaje de depanare despre progresul sau. Acest lucru este util pentru depanarea generarii de module. Opiunile multiple ale -v sporesc gradul de detalii. Valoarea maxima este 3. -w furnizor Specifica o ruta catre o biblioteca care va fi utilizata la crearea cheilor gazduite de autentificatorul FIDO, inlocuind opiunea implicita de utilizare a suportului USB HID intern. -Y find-principals Gasete principalii asociai cu cheia publica a unei semnaturi, furnizata cu ajutorul fanionului -s intr-un fiier de semnatari autorizai furnizat cu ajutorul fanionului -f. Formatul fiierului de semnatari autorizai este documentat in seciunea SEMNATARI AUTORIZAI de mai jos. In cazul in care se gasesc unul sau mai muli imputernicii care corespund, acetia sunt returnai la ieirea standard. -Y match-principals Gasete principalul care se potrivete cu numele principalului furnizat cu ajutorul fanionului -I in fiierul semnatarilor autorizai specificat cu ajutorul fanionului -f. In cazul in care se gasesc unul sau mai muli principali care corespund, acetia sunt returnai la ieirea standard. -Y check-novalidate Verifica daca o semnatura generata folosind ssh-keygen -Y sign are o structura valida. Aceasta nu valideaza daca o semnatura provine de la un semnatar autorizat. Atunci cand testeaza o semnatura, ssh-keygen accepta un mesaj la intrarea standard i un spaiu de nume de semnatura folosind -n. Un fiier care conine semnatura corespunzatoare trebuie, de asemenea, sa fie furnizat folosind fanionul -s. Testarea cu succes a semnaturii este semnalata de ssh-keygen prin returnarea unei stari de ieire zero. -Y sign Semneaza criptografic un fiier sau anumite date utilizand o cheie SSH. Atunci cand semneaza, ssh-keygen accepta zero sau mai multe fiiere de semnat in linia de comanda - daca nu este specificat niciun fiier, ssh-keygen va semna datele prezentate la intrarea standard. Semnaturile sunt scrise in ruta fiierului de intrare cu ".sig" ataat, sau la ieirea standard in cazul in care mesajul care urmeaza sa fie semnat a fost citit de la intrarea standard. Cheia utilizata pentru semnare este specificata cu ajutorul opiunii -f i se poate referi fie la o cheie privata, fie la o cheie publica cu jumatatea privata disponibila prin ssh-agent(1). Un spaiu de nume de semnatura suplimentar, utilizat pentru a preveni confuzia de semnaturi in diferite domenii de utilizare (de exemplu, semnarea fiierelor vs. semnarea mesajelor de pota electronica) trebuie furnizat prin intermediul fanionului -n. Spaiile de nume sunt iruri de caractere arbitrare i pot include: "file" pentru semnarea fiierelor, "email" pentru semnarea mesajelor electronice. Pentru utilizari personalizate, se recomanda utilizarea de nume care sa urmeze un model SPAIU_DE_NUME@DOMENIUL.DVS pentru a genera spaii de nume lipsite de ambiguitate. -Y verify Solicita verificarea unei semnaturi generate folosind ssh-keygen -Y sign, aa cum a fost descris mai sus. Atunci cand verifica o semnatura, ssh-keygen accepta un mesaj la intrarea standard i un spaiu de nume al semnaturii folosind -n. De asemenea, trebuie sa se furnizeze un fiier care conine semnatura corespunzatoare cu ajutorul fanionului -s, impreuna cu identitatea semnatarului cu ajutorul -I i o lista de semnatari autorizai cu ajutorul fanionului -f. Formatul fiierului semnatarilor autorizai este documentat in seciunea SEMNATARI AUTORIZAI de mai jos. Un fiier care conine chei revocate poate fi transmis cu ajutorul fanionului -r. Fiierul de revocare poate fi un KRL sau o lista de chei publice, una pe linie. Verificarea reuita de catre un semnatar autorizat este semnalata prin faptul ca ssh-keygen returneaza o stare de ieire zero. -y Aceasta opiune va citi un fiier privat in format OpenSSH i va imprima o cheie publica OpenSSH la ieirea standard. -Z cifrarea Specifica cifrarea care trebuie utilizata pentru criptare atunci cand se scrie un fiier de cheie privata in format OpenSSH. Lista cifrarilor disponibile poate fi obinuta utilizand "ssh -Q cipher". Valoarea implicita este "aes256-ctr". -z numar-serie Specifica un numar de serie care trebuie incorporat in certificat pentru a distinge acest certificat de altele de la aceeai autoritate de certificare (CA). Daca numar-serie este prefixat cu un caracter `+', atunci numarul de serie va fi incrementat pentru fiecare certificat semnat pe o singura linie de comanda. Numarul de serie implicit este zero. Atunci cand se genereaza un KRL, fanionul -z este utilizat pentru a specifica un numar de versiune KRL. GENERARE DE MODULI ssh-keygen poate fi utilizat pentru a genera grupuri pentru protocolul Diffie-Hellman Group Exchange (DH-GEX). Generarea acestor grupuri este un proces in doua etape: mai intai, se genereaza numere prime candidate folosind un proces rapid, dar care necesita multa memorie. Aceste prime candidate sunt apoi testate pentru a se verifica daca sunt adecvate (un proces care necesita un consum intensiv de CPU). Generarea numerelor prime se realizeaza cu ajutorul opiunii -M generate. Lungimea dorita a numerelor prime poate fi specificata cu ajutorul opiunii -O bits. De exemplu: # ssh-keygen -M generate -O bits=2048 moduli-2048.candidates In mod implicit, cautarea numerelor prime incepe intr-un punct aleatoriu din intervalul de lungime dorit. Acest lucru poate fi anulat cu ajutorul opiunii -O start, care specifica un alt punct de pornire (in hexazecimal). Dupa ce a fost generat un set de candidai, acetia trebuie sa fie examinai pentru a se stabili daca sunt potrivii. Acest lucru poate fi realizat cu ajutorul opiunii -M screen. In acest mod, ssh-keygen va citi candidaii de la intrarea standard (sau dintr-un fiier specificat cu ajutorul opiunii -f). De exemplu: # ssh-keygen -M screen -f moduli-2048.candidates moduli-2048 In mod implicit, fiecare candidat va fi supus la 100 de teste de primalitate. Acest lucru poate fi anulat cu ajutorul opiunii -O prime-tests. Valoarea generatorului DH va fi aleasa in mod automat pentru prima considerata. In cazul in care se dorete un generator specific, acesta poate fi solicitat utilizand opiunea -O generator. Valorile valide ale generatorului sunt 2, 3 i 5. Grupurile DH verificate pot fi instalate in /etc/ssh/moduli. Este important ca acest fiier sa conina moduli cu o serie de lungimi de bii. Sunt disponibile o serie de opiuni pentru generarea i verificarea de moduli prin intermediul fanionului -O: lines=numar Iese dupa examinarea numarului specificat de linii in timp ce se efectueaza examinarea candidailor DH. start-line=numar-linie Incepe examinarea la numarul de linie specificat in timp ce se efectueaza examinarea candidailor DH. checkpoint=nume-fiier Scrie ultima linie procesata in fiierul specificat in timpul efectuarii verificarii candidailor DH. Acest lucru va fi utilizat pentru a sari peste liniile din fiierul de intrare care au fost deja procesate, in cazul in care activitatea este repornita. memory=Moctei Specifica cantitatea de memorie care trebuie utilizata (in megaoctei) la generarea de moduli candidai pentru DH-GEX. start=valoare-hex Specifica punctul de pornire (in hexazecimal) la generarea de moduli candidai pentru DH-GEX. generator=valoare Specifica generatorul dorit (in zecimal) atunci cand se efectueaza testarea de moduli candidai pentru DH-GEX. CERTIFICATE ssh-keygen accepta semnarea cheilor pentru a produce certificate care pot fi utilizate pentru autentificarea utilizatorului sau a gazdei. Certificatele constau dintr-o cheie publica, unele informaii privind identitatea, zero sau mai multe nume principale (utilizator sau gazda) i un set de opiuni care sunt semnate de o cheie a autoritaii de certificare (CA). Clienii sau serverele pot avea incredere doar in cheia CA i pot verifica semnatura acesteia pe un certificat, in loc sa aiba incredere in mai multe chei de utilizator/gazda. Reinei ca certificatele OpenSSH au un format diferit i mult mai simplu decat certificatele X.509 utilizate in ssl(8). ssh-keygen accepta doua tipuri de certificate: utilizator i gazda. Certificatele de utilizator autentifica utilizatorii faa de servere, in timp ce certificatele de gazda autentifica gazdele serverului faa de utilizatori. Pentru a genera un certificat de utilizator: $ ssh-keygen -s /ruta/la/cheie_CA -I key_id /ruta/la/cheie_utilizator.pub Certificatul rezultat va fi plasat in /ruta/la/certificat-cheie_utilizator.pub. Un certificat de gazda necesita opiunea -h: $ ssh-keygen -s /ruta/la/cheie_CA -I key_id -h /ruta/la/cheie_gazda.pub Certificatul de gazda va fi generat in /ruta/la/certificat-cheie_gazda.pub. Este posibil sa se semneze folosind o cheie CA stocata intr-un jeton PKCS#11, furnizand biblioteca de jetoane prin utilizarea -D i identificand cheia CA prin furnizarea jumataii publice a acesteia ca argument pentru -s: $ ssh-keygen -s cheie_CA.pub -D libpkcs11.so -I id_cheie cheie_utilizator.pub In mod similar, este posibil ca cheia CA sa fie gazduita intr-un ssh-agent(1). Acest lucru este indicat prin fanionul -U i, din nou, cheia CA trebuie sa fie identificata prin jumatatea sa publica. $ ssh-keygen -Us ca_key.pub -I key_id cheie_utilizator.pub In toate cazurile, id_cheie este un ,,identificator de cheie" care este inregistrat de server atunci cand certificatul este utilizat pentru autentificare. Certificatele pot fi limitate pentru a fi valabile pentru un set de nume principale (utilizator/gazda). In mod implicit, certificatele generate sunt valabile pentru toi utilizatorii sau gazdele. Pentru a genera un certificat pentru un set specificat de principali: $ ssh-keygen -s cheie_CA -I id_cheie -n utilizator1,utilizator2 cheie_utilizator.pub $ ssh-keygen -s cheie_CA -I id_cheie -h -n gazda.domeniu cheie_gazda.pub Limitarile suplimentare privind valabilitatea i utilizarea certificatelor de utilizator pot fi specificate prin intermediul opiunilor de certificat. O opiune de certificat poate dezactiva caracteristici ale sesiunii SSH, poate fi valabila numai atunci cand este prezentata de la anumite adrese sursa sau poate fora utilizarea unei comenzi specifice. Opiunile care sunt valabile pentru certificatele de utilizator sunt: clear Anuleaza toate permisiunile activate. Acest lucru este util pentru a terge setul implicit de permisiuni, astfel incat permisiunile sa poata fi adaugate individual. critical:nume[=coninut] extension:nume[=coninut] Include o opiune sau o extensie critica de certificat arbitrara. numele specificat trebuie sa includa un sufix de domeniu, de exemplu: "nume@example.com". Daca este specificat coninut, atunci este inclus coninutul extensiei/opiunii codificat ca un ir de caractere, in caz contrar extensia/opiunea este creata fara coninut (indicand de obicei un fanion). Extensiile pot fi ignorate de un client sau server care nu le recunoate, in timp ce opiunile critice necunoscute vor determina refuzul certificatului. force-command=comanda Foreaza executarea comenzii comanda in loc de orice shell sau comanda specificata de utilizator atunci cand certificatul este utilizat pentru autentificare. no-agent-forwarding Dezactiveaza redirecionarea ssh-agent(1) (permisa in mod implicit). no-port-forwarding Dezactivai redirecionarea porturilor (permisa in mod implicit). no-pty Dezactiveaza alocarea PTY (permisa in mod implicit). no-user-rc Dezactiveaza executarea ~/.ssh/rc de catre sshd(8) (permisa in mod implicit). no-x11-forwarding Dezactiveaza redirecionarea X11 (permisa in mod implicit). permit-agent-forwarding Permite redirecionarea ssh-agent(1). permit-port-forwarding Permite redirecionarea porturilor. permit-pty Permite alocarea PTY. permit-user-rc Permite executarea ~/.ssh/rc de catre sshd(8). permit-X11-forwarding Permite redirecionarea X11. no-touch-required Nu solicita ca semnaturile realizate cu aceasta cheie sa includa demonstrarea prezenei utilizatorului (de exemplu, prin atingerea autentificatorului de catre utilizator). Aceasta opiune are sens numai pentru algoritmii de autentificare FIDO ecdsa-sk i ed25519-sk. source-address=lista-adrese Restricioneaza adresele sursa de la care certificatul este considerat valabil. lista-adrese este o lista de una sau mai multe perechi adresa/masca de reea in format CIDR, separate prin virgule. verify-required Cererile de semnaturi realizate cu aceasta cheie indica faptul ca utilizatorul a fost verificat pentru prima data. Aceasta opiune are sens numai pentru algoritmii de autentificare FIDO ecdsa-sk i ed25519-sk. In prezent, autentificarea prin PIN este singura metoda de verificare acceptata, dar este posibil ca in viitor sa fie acceptate i alte metode. In prezent, nicio opiune standard nu este valabila pentru cheile gazda. In cele din urma, certificatele pot fi definite cu o durata de valabilitate. Opiunea -V permite specificarea orelor de inceput i de sfarit ale certificatului. Un certificat care este prezentat la o ora in afara acestui interval nu va fi considerat valabil. In mod implicit, certificatele sunt valabile de la Epoca UNIX pana in viitorul indepartat. Pentru ca certificatele sa fie utilizate pentru autentificarea utilizatorului sau a gazdei, cheia publica a autoritaii de certificare (CA) trebuie sa fie de incredere pentru sshd(8) sau ssh(1). Consultai paginile de manual respective pentru detalii. Autentificator FIDO ssh-keygen este capabil sa genereze chei FIDO bazate pe autentificatorul FIDO, dupa care acestea pot fi utilizate la fel ca orice alt tip de cheie acceptat de OpenSSH, atat timp cat autentificatorul hardware este ataat atunci cand sunt utilizate cheile. Autentificatorii FIDO necesita, in general, ca utilizatorul sa autorizeze in mod explicit operaiile prin atingerea sau acoperirea acestora. Cheile FIDO sunt formate din doua pari: o parte de tip gestionar de chei stocata in fiierul de chei private de pe disc i o cheie privata pentru fiecare dispozitiv, care este unica pentru fiecare autentificator FIDO i care nu poate fi exportata de pe hardware-ul autentificatorului. Acestea sunt combinate de hardware in momentul autentificarii pentru a obine cheia reala care este utilizata pentru a semna provocarile de autentificare. Tipurile de chei acceptate sunt ecdsa-sk i ed25519-sk. Opiunile care sunt valabile pentru cheile FIDO sunt: application Substituie irul implicit de aplicaie/origine FIDO de "ssh:". Acest lucru poate fi util atunci cand se genereaza chei rezidente specifice gazdei sau domeniului. irul de aplicaii specificat trebuie sa inceapa cu "ssh:". challenge=ruta Specifica o ruta catre un ir de provocare care va fi transmis autentificatorului FIDO in timpul generarii cheii. irul de provocare poate fi utilizat ca parte a unui protocol in afara benzii pentru inscrierea cheii (in mod implicit, se utilizeaza o provocare aleatorie). device Specifica in mod explicit un dispozitiv fido(4) care sa fie utilizat, in loc sa lase intermedierea selectarii unuia in seama autentificatorului. no-touch-required Indica faptul ca cheia privata generata nu trebuie sa necesite evenimente de atingere (prezena utilizatorului) atunci cand se realizeaza semnaturile. Reinei ca sshd(8) va refuza in mod implicit astfel de semnaturi, cu excepia cazului in care nu este suprascrisa prin intermediul unei opiuni authorized_keys. resident Indica faptul ca gestionarul de chei ar trebui sa fie stocat chiar in autentificatorul FIDO. Acest lucru faciliteaza utilizarea autentificatorului pe mai multe calculatoare. Cheile rezidente pot fi acceptate pe autentificatorii FIDO2 i necesita, de obicei, ca un PIN sa fie stabilit pe autentificator inainte de generare. Cheile rezidente pot fi incarcate de pe autentificator utilizand ssh-add(1). Stocarea ambelor pari ale unei chei pe un autentificator FIDO crete probabilitatea ca un atacator sa poata utiliza un dispozitiv autentificator furat. user Un nume de utilizator care urmeaza sa fie asociat unei chei rezidente, inlocuind numele de utilizator implicit gol. Specificarea unui nume de utilizator poate fi utila atunci cand se genereaza mai multe chei rezidente pentru acelai nume de aplicaie. verify-required Indica faptul ca aceasta cheie privata trebuie sa necesite verificarea utilizatorului pentru fiecare semnatura. Nu toi autentificatorii FIDO accepta aceasta opiune. In prezent, autentificarea prin PIN este singura metoda de verificare acceptata, dar este posibil ca in viitor sa fie acceptate i alte metode. write-attestation=ruta Poate fi utilizata in momentul generarii cheilor pentru a inregistra datele de atestare returnate de catre autentificatorii FIDO in timpul generarii cheilor. Aceste informaii sunt potenial sensibile. In mod implicit, aceste informaii sunt eliminate. LISTE DE REVOCARE A CHEILOR ssh-keygen este capabil sa gestioneze listele de revocare a cheilor (KRL) in format OpenSSH. Aceste fiiere binare specifica cheile sau certificatele care urmeaza sa fie revocate folosind un format compact, necesitand doar un singur bit pentru fiecare certificat, daca acestea sunt revocate dupa numarul de serie. KRL-urile pot fi generate utilizand fanionul -k. Aceasta opiune citete unul sau mai multe fiiere din linia de comanda i genereaza un nou KRL. Fiierele pot conine fie o specificaie KRL (a se vedea mai jos), fie chei publice, enumerate una pe linie. Cheile publice simple sunt revocate prin enumerarea sumei lor de control sau a coninutului lor in KRL, iar certificatele sunt revocate prin numarul de serie sau ID-ul cheii (daca numarul de serie este zero sau nu este disponibil). Revocarea cheilor utilizand o specificaie KRL ofera un control explicit asupra tipurilor de inregistrari utilizate pentru revocarea cheilor i poate fi utilizata pentru a revoca direct certificatele in funcie de numarul de serie sau de ID-ul cheii fara a avea la indemana certificatul original complet. O specificaie KRL consta in linii care conin una dintre urmatoarele directive, urmata de doua puncte i de unele informaii specifice directivei. serial: numar-serie[-numar-serie] Revoca un certificat cu numarul de serie specificat. Numerele de serie sunt valori pe 64 de bii, fara zero i pot fi exprimate in zecimal, hexazecimal sau octal. In cazul in care se specifica doua numere de serie separate de o cratima, atunci se revoca intervalul de numere de serie care include i se afla intre ele. Cheia CA trebuie sa fi fost specificata in linia de comanda ssh-keygen cu ajutorul opiunii -s. id: id-cheie Revoca un certificat cu irul de identificare a cheii specificat. Cheia CA trebuie sa fi fost specificata in linia de comanda ssh-keygen cu ajutorul opiunii -s. key: cheie-publica Revoca cheia specificata. Daca este listat un certificat, atunci acesta este revocat ca o cheie publica simpla. sha1: cheie-publica Revoca cheia specificata prin includerea sumei de control SHA1 a acesteia in KRL. sha256: cheie-publica Revoca cheia specificata prin includerea sumei de control SHA256 a acesteia in KRL. KRL-urile care revoca cheile prin intermediul sumelor de control SHA256 nu sunt acceptate de versiunile OpenSSH anterioare la versiunea 7.9. hash: amprenta-digitala Revoca o cheie folosind o suma de control de amprenta digitala, aa cum este obinuta dintr-un mesaj de jurnal de autentificare sshd(8) sau din fanionul ssh-keygen -l. Numai amprentele SHA256 sunt acceptate aici, iar KRL-urile rezultate nu sunt acceptate de versiunile OpenSSH anterioare la versiunea 7.9. KRL-urile pot fi actualizate utilizand fanionul -u in plus faa de -k. Atunci cand este specificata aceasta opiune, cheile listate prin intermediul liniei de comanda sunt incorporate in KRL, adaugandu-se la cele deja existente. De asemenea, este posibil, avand in vedere un KRL, sa se testeze daca acesta revoca o anumita cheie (sau chei). Fanionul -Q va interoga un KRL existent, testand fiecare cheie specificata in linia de comanda. Daca una dintre cheile enumerate in linia de comanda a fost revocata (sau daca s-a intalnit o eroare), atunci ssh-keygen va iei cu o stare de ieire diferita de zero. O stare de ieire zero va fi returnata numai daca nicio cheie nu a fost revocata. SEMNATARI AUTORIZAI La verificarea semnaturilor, ssh-keygen utilizeaza o lista simpla de identitai i chei pentru a determina daca o semnatura provine dintr- o sursa autorizata. Acest fiier ,,semnatari autorizai" utilizeaza un format asemanator cu cel al FORMATULUI FIIERULUI AUTHORIZED_KEYS descris in sshd(8). Fiecare linie a fiierului conine urmatoarele campuri separate prin spaii: principals, options, keytype, keytype, base64-encoded key. Liniile goale i liniile care incep cu un `#' sunt ignorate ca fiind comentarii. Campul ,,principals" este o lista de modele (a se vedea MODELE in ssh_config(5)) constand din unul sau mai multe modele de identitate UTILIZATOR@DOMENIU separate prin virgule care sunt acceptate pentru semnare. La verificare, identitatea prezentata prin intermediul opiunii -I trebuie sa se potriveasca cu un model de ,,principals" pentru ca cheia corespunzatoare sa fie considerata acceptabila pentru verificare. Opiunile (daca sunt prezente) constau in specificaii de opiuni separate prin virgule. Nu sunt permise spaiile, cu excepia celor intre ghilimele duble. Sunt acceptate urmatoarele specificaii ale opiunilor (a se observa ca cuvintele cheie ale opiunilor nu in cont de majuscule i minuscule): cert-authority Indica faptul ca aceasta cheie este acceptata ca autoritate de certificare (CA) i ca certificatele semnate de aceasta CA pot fi acceptate pentru verificare. namespaces=lista-spaii-nume Specifica o lista de spaii de nume acceptate pentru aceasta cheie. Daca aceasta opiune este prezenta, spaiul de nume al semnaturii incorporat in obiectul semnatura i prezentat in linia de comanda de verificare trebuie sa corespunda listei specificate pentru ca cheia sa fie considerata acceptabila. valid-after=marcaj-de-timp Indica faptul ca cheia este valabila pentru utilizare la sau dupa data i ora specificate, care poate fi o data sau o ora in formatul AAAALLZZ[Z] sau AAAALLZZHHMM[SS][Z]. Datele i orele vor fi interpretate in fusul orar curent al sistemului, cu excepia cazului in care sunt sufixate cu un caracter Z, ceea ce face ca acestea sa fie interpretate in fusul orar UTC. valid-before=marcaj-de-timp Indica faptul ca cheia este valabila pentru utilizare la sau inainte de data i ora specificate. Atunci cand se verifica semnaturile realizate prin certificate, numele principalului ateptat trebuie sa corespunda atat cu modelul principalilor din fiierul cu semnatari autorizai, cat i cu principalii incorporai in certificatul propriu-zis. Un exemplu de fiier de semnatari autorizai: # Comentarii permise la inceputul liniei utilizator1@example.com,utilizator2@example.com ssh-rsa AAAAX1... # O autoritate de certificare, de incredere pentru toi principalii dintr-un domeniu. *@example.com cert-authority ssh-ed25519 AAAB4... # O cheie care este acceptata numai pentru semnarea fiierelor. utilizator2@example.com namespaces="file" ssh-ed25519 AAA41... MEDIU SSH_SK_PROVIDER Specifica o ruta catre o biblioteca care va fi utilizata la incarcarea oricaror chei gazduite de autentificatorul FIDO, inlocuind opiunea implicita de utilizare a suportului USB HID incorporat. FIIERE ~/.ssh/id_ecdsa ~/.ssh/id_ecdsa_sk ~/.ssh/id_ed25519 ~/.ssh/id_ed25519_sk ~/.ssh/id_rsa Conine identitatea de autentificare ECDSA,gazduita de autentificatorul ECDSA , identitatea de autentificare Ed25519, gazduita de autentificatorul Ed25519 sau identitatea de autentificare RSA a utilizatorului. Acest fiier nu trebuie sa poata fi citit decat de utilizator. Este posibil sa se specifice o fraza de acces atunci cand se genereaza cheia; aceasta fraza de acces va fi utilizata pentru a cripta partea privata a acestui fiier utilizand AES pe 128 de bii. Acest fiier nu este accesat automat de ssh-keygen, dar este oferit ca fiier implicit pentru cheia privata. ssh(1) va citi acest fiier atunci cand se face o incercare de conectare. ~/.ssh/id_ecdsa.pub ~/.ssh/id_ecdsa_sk.pub ~/.ssh/id_ed25519.pub ~/.ssh/id_ed25519_sk.pub ~/.ssh/id_rsa.pub Conine cheia publica ECDSA, gazduita de autentificatorul ECDSA, cheia publica Ed25519, gazduita de autentificatorul Ed25519 sau cheia publica RSA pentru autentificare. Coninutul acestui fiier trebuie adaugat la ~/.ssh/authorized_keys pe toate mainile la care utilizatorul dorete sa se conecteze folosind autentificarea cu cheie publica. Nu este necesar sa pastrai secret coninutul acestui fiier. /etc/ssh/moduli Conine grupurile Diffie-Hellman utilizate pentru DH-GEX. Formatul fiierului este descris in moduli(5). CONSULTAI I ssh(1), ssh-add(1), ssh-agent(1), moduli(5), sshd(8) The Secure Shell (SSH) Public Key File Format, RFC 4716, 2006. AUTORI OpenSSH este un derivat al versiunii originale i libere ssh 1.2.12 de Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt i Dug Song au eliminat multe erori, au adaugat din nou caracteristici noi i au creat OpenSSH. Markus Friedl a contribuit la suportul pentru versiunile 1.5 i 2.0 ale protocolului SSH. TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3: https://www.gnu.org/licenses/gpl-3.0.html sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la translation-team-ro@lists.sourceforge.net Linux 6.11.5-arch1-1 Mdocdate: 17 iunie 2024 $ Linux 6.11.5-arch1-1