SSH - configurarea accesului la server, a comenzilor și a conexiunii fără parole. Conexiune de la distanță prin consolă la serverul Ubuntu. Configurarea terminalului. Server SSH

Acest articol vă va spune cum să instalați SSH pe Linux, Windows și Mac, cum să îl configurați și cum să îl utilizați! Totul pana la cel mai mic detaliu! Va fi interesant!

SSH este un protocol popular pentru gestionarea (administrarea) de la distanță a sistemelor de operare bazate pe nucleul Linux, Unix. Pentru începătorii Linux, nu este complet clar cum să instalezi acest protocol, să-l configurezi și să-l folosești, pentru a-l remedia, s-a decis să scriem acest articol!

Unul dintre cele mai populare sisteme de operare care rulează pe nucleul Linux este Ubuntu, așa că vom explica despre ssh pe acesta.

Mai întâi, vom explica toți pașii folosind un exemplu din Linux, apoi în Mac și Windows!

Instalarea SSH pe sistemul de operare Linux

În 99,99% din cazuri, Linux are deja instalat un client ssh, cu care vă puteți conecta la o mașină de la distanță. Dar dacă doriți să vă conectați la computerul pe care vă aflați în prezent sau la oricare altul, trebuie să „descărcați serverul ssh”.

Pentru a face acest lucru este foarte simplu, tot ce aveți nevoie este deja în depozite (a la magazinul de software), deschideți un terminal și introduceți comanda:

sudo apt install openssh-server

Adică este necesar partea de server, care face computerul disponibil în rețea folosind protocolul ssh. Există partea clientului, care este deja instalat pe computerul dvs. și, folosindu-l, vă conectați la un computer la distanță.

Conexiune SSH (cu parola)

Deschideți un terminal și introduceți comanda pentru a vă conecta la mașina de la distanță:

ssh Nume de utilizator@adresa IP

Mai întâi scriem ssh , apoi numele de utilizator care se află pe mașina de la distanță, apoi semnul @ (câine) și adresa IP. De exemplu:

ssh sasha @ 100.08.30.48

De regulă, conexiunea ssh are loc la portul 22, dacă ați schimbat-o cu forță, atunci trebuie să o specificați. Pentru a face acest lucru, scrieți numărul -p la sfârșit. Iată un exemplu:

ssh sasha @ 100.08.30.48 -p 3040

După ce v-ați conectat și dacă aceasta a fost prima conexiune la mașină, va trebui să adăugați mașina la de încredere - scrieți da și apăsați Enter. Acest lucru se face o dată.

Creați o cheie SSH și conectați-vă fără parolă!

Pentru a nu reține parola și a nu o introduce de fiecare dată, mai ales dacă aveți multe servere Linux, puteți crea o cheie SSH specială. Această cheie vă va permite să vă conectați de la o mașină deja „cunoscută” la un server „cunoscut”, fără a utiliza o parolă.

Cum se creează o cheie SSH?

Pe computerul pe care vă aflați în prezent, creăm o cheie, iar după aceea, va trebui să fie copiată pe serverul nostru!

Creați o cheie pentru computerul curent:

ssh-keygen -t rsa

Cheia a fost creată, acum trebuie adăugată la mașina sau serverul de la distanță.

Cum se adaugă o cheie SSH la server?

Pentru a face acest lucru, introduceți comanda:

ssh-copy-id Nume de utilizator@adresa IP

ssh-copy-id sasha @ 100.08.30.48

Acum aveți posibilitatea să vă conectați la un server sau la altă mașină fără a utiliza o cheie, doar introducând un nume de utilizator și o parolă!

Client SSH Windows

Unul dintre cele mai populare programe pentru lucrul cu servere Linux prin SSH în Windows este programul Putty. Puteți descărca acest client Windows SSH la această adresă - putty.org.

Conectarea prin SSH cu o parolă în Windows

Conectarea la Putty prin SSH este foarte ușoară! Introduceți adresa IP, dacă ați schimbat portul, apoi specificați un alt port și faceți clic pe Deschidere:
si dupa conectare login si parola!

Conectarea prin SSH cu o cheie în Windows

Dacă nu doriți să introduceți o parolă de fiecare dată, dar utilizați cheia ssh în Putty, atunci, ca și în Linux, trebuie mai întâi să creați o cheie și apoi să o transferați pe server.

Creați o cheie


Nu închidem încă programul și rulăm Putty pentru a ne conecta

Transferul cheii


Client SSH Mac

Deoarece macOS se bazează pe un sistem UNIX, vă puteți conecta prin ssh direct de la terminal!

Dacă doriți să nu utilizați o parolă, atunci trebuie mai întâi să instalați Homebrew:

/usr/bin/ruby -e „$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

Există, de asemenea, un client mac ssh la îndemână - Termius.

Client SSH Android și iOS

Cel mai convenabil client SSH pentru iOS și Android este aplicația Termius!

Transferul și descărcarea fișierelor prin SSH (SCP)

Pentru a încărca un fișier de pe o mașină locală pe un server prin ssh pe Linux și macOS:

scp fișier1.tar [email protected] _adresa:/home/dir

Copierea unui fișier de pe un server pe un computer local Linux sau macOS:

Scp [email protected] _adresă:/home/file1.tar /var/www/

De la server la server:

Scp [email protected] _ip1:/home/file.txt [email protected] _ip2:/acasă/

Pentru Windows

Windows folosește pscp pentru a muta fișiere prin SSH.

fisier pscp.exe.zip [email protected] _server: /var/www/

Configurare SSH

Dacă trebuie să adăugați imediat autentificare SSH ca root:

Schimbarea portului SSH

Deoarece ssh este configurat să funcționeze implicit pe portul 22, devine nesigur să utilizați serverul. Prin urmare, merită să schimbați portul!

și modificați valorile Portului la cele de care aveți nevoie:

# Ce porturi, IP-uri și protocoale ascultăm pentru portul 22

Conectați-vă numai cu cheia SSH:

Utilizați nano pentru a edita documentul sshd_config, introduceți comanda:

sudo nano /etc/ssh/sshd_config

Schimbați valorile PasswordAuthentication de la da la nu:

RSAAuthentication da PubkeyAuthentication da PasswordAuthentication nu

Mai ai intrebari? Scrie-le în comentarii, spune-ne ce ai făcut sau invers!

Asta e tot! Citiți mai multe articole și instrucțiuni utile în secțiune. Rămâneți cu site-ul, va fi și mai interesant!

Tastam in consola comanda:

$ sudo apt-get install openssh-server

Totul, serverul este instalat și rulează. Să-l testăm. Pentru a face acest lucru, tastați în consolă:

$ ssh localhost

Dacă totul este bine, vi se va solicita să introduceți o parolă. Introduceți parola. Pentru a încheia conexiunea ssh, tastați:

Notă: ssh - funcționează pe portul 22, deși numărul portului poate fi schimbat. Asigurați-vă că acest port este accesibil din exterior și nu este închis.

Configurarea unui server ssh.

În principiu, serverul rulează deja, dar setările suplimentare de securitate nu au deranjat pe nimeni încă. Toate setările serverului ssh sunt stocate în fișierul /etc/ssh/sshd_config

$ sudo nano /etc/ssh/sshd_config

Care este cel mai interesant lucru din acest dosar?

    Aceasta setează numărul portului pe care rulează serverul ssh. Se recomanda schimbarea.

    PermitRootLogin nr

    Interzicem conectarea la serverul ssh folosind autentificarea superutilizatorului.

    PermitEmptyPasswords nr

    Împiedicați conectarea utilizatorilor cu parole goale. Foarte recomandat chiar dacă sunteți singurul utilizator de pe sistem.

    AllowUsers utilizator1 utilizator2

    Permiteți conectarea numai utilizatorilor specificati. Login-urile utilizatorilor sunt separate printr-un spațiu. Recomandat cu condiția să nu fiți singurul utilizator al sistemului.

După salvarea fișierului de configurare, reporniți serverul ssh:

$ sudo /etc/init.d/ssh restart

Ce să te conectezi?

Dacă vă conectați dintr-un sistem asemănător Linux, atunci tastați comanda:

$ ssh [email protected]

Unde, nume de utilizator este numele de utilizator pe sistemul de la distanță și nume de gazdă- numele gazdă sau adresa IP.

Notă: dacă numele de utilizator de pe sistemul cu care vă conectați se potrivește cu numele de utilizator de pe sistemul de la distanță, puteți salva caracterele de comandă introducându-l astfel: nume de gazdă ssh

Notă: dacă serverul tău ssh se află pe un alt port decât 22 (de exemplu, 1010), atunci comanda ar trebui să fie tastată astfel - ssh -p 1010 [email protected]

Dacă aveți nevoie să vă conectați dintr-un mediu Windows, atunci vă recomand să utilizați programul PuTTY, care se găsește ușor după nume într-un motor de căutare și este absolut gratuit.

Cheile SSH sunt folosite pentru a identifica clientul la conectarea la server prin protocolul SSH. Utilizați această metodă în loc de autentificarea prin parolă.

Cheile SSH sunt o pereche - cheie privată și cheie publică. Cel privat trebuie să fie păstrat privat de către client, cel public este trimis la server și plasat în fișierul authorized_keys.

Crearea cheilor SSH în Linux folosind CentOS ca exemplu

Pachetul ssh (openssh) trebuie instalat pe partea clientului. Serverele FirstVDS cu șabloane implicite au deja instalat software-ul necesar.

Yum -y instalează openssh-server openssh-clients

Pe computerul client, la promptul de comandă, rulați comanda de generare a cheilor:

ssh-keygen

Introduceți calea fișierului în care vor fi plasate cheile. Directorul implicit este între paranteze, în exemplul /home_dir/.ssh/id_rsa . Dacă doriți să părăsiți locația implicită, apăsați Enter .

Parola (fraza de acces) este folosită pentru a restricționa accesul la cheia privată. Parola va îngreuna folosirea cheii de către terți dacă este pierdută. Dacă nu doriți să utilizați expresia de acces, apăsați pe Enter fără a completa rândul.

După generarea cu succes a unei perechi de chei, veți vedea o notificare:


Cheia publică este stocată în /home_dir/.ssh/id_rsa.pub , cheia privată este în /home_dir/.ssh/id_rsa .


Copiați cheia publică pe server în fișierul /home_dir/.ssh/authorized_key . O linie:

Cat ~/.ssh/id_rsa.pub | ssh [email protected] server-url %22cat >> ~/.ssh/authorized_keys%22

Sau deschideți acest fișier pe server cu vi și lipiți linia cheii publice după ssh-rsa .

O altă modalitate de a copia o cheie în authorized_keys este cu comanda echo, care pune un șir la sfârșitul fișierului.

ecou ssh-rsa public-key-string >>/root/.ssh/authorized_keys

Generarea cheilor SSH pe Windows cu PuTTYgen

Dacă sunteți pe Windows, puteți SSH pe serverul dvs. (Linux) folosind PuTTY sau OpenSSH. Generarea cheilor în acest caz se realizează și folosind aceste programe. În exemplu, folosim clientul PuTTY.

Lansați aplicația PuTTYgen, care este instalată cu PuTTY.

Selectați tipul de cheie SSH2-RSA și faceți clic pe Generare.


În timpul procesului de generare a cheilor, glisați aleatoriu mouse-ul peste ecranul aplicației de mai multe ori pentru a genera valori aleatorii utilizate pentru chei.


După ce crearea cheilor este finalizată, cheia publică este afișată pe ecran, cheia privată este stocată în memoria aplicației. Pentru a salva aceste chei, faceți clic pe Salvare cheie publică și Salvare cheie privată . Specificați locația fișierelor cu tastele.


Când salvați cheia privată, dacă câmpul Fraza de acces cheie nu este completat, va apărea mesajul „Doriți să salvați cheia fără o expresie de acces?”.

Acum cheia publică trebuie copiată pe server în fișierul authorized_keys. Utilizați WinSCP sau alt client pentru a lucra cu fișiere pe un server Linux la distanță. Puteți copia întregul fișier cheie publică pe server, astfel încât o copie a acestuia să fie stocată în folderul .ssh


Deschideți fișierul authorized_keys prin WinSCP și fișierul în care ați salvat cheia publică (publică) pe computerul local cu un editor de text. Copiați valoarea cheii, salvați și închideți fișierul în WinSCP.


Când porniți PuTTY, specificați calea către cheia privată de pe computerul local. Pentru a face acest lucru, în fila Conexiuni → Autentificare, selectați calea necesară.


Acum puteți dezactiva autentificarea parolei pe server și puteți utiliza numai chei SSH.

Se dezactivează autentificarea prin parolă

Conectați-vă la server prin SSH folosind parola și deschideți fișierul sshd_config pentru editare.

Pe /etc/ssh/sshd_config

Asigurați-vă că calea către cheile publice SSH este corectă, setați parametrul PasswordAuthentication la no .


Reporniți serviciul sshd.

repornirea serviciului sshd

Conectați-vă la server prin SSH fără a utiliza o parolă. De exemplu, lansați PuTTY, verificați dacă fila Conexiuni -> Autentificare conține calea către cheia privată și deschideți conexiunea.


În cazul autentificării cu succes cu cheia SSH, veți avea acces la linia de comandă a serverului și un mesaj precum Autentificare cu cheia publică „rsa-key-20170510”, unde rsa-key-20170510 este numele cheii private aplicate care ați specificat în fișierul authorized_keys.

Salut! Interesat de întrebarea: cum să vă conectați prin SSH la computerul de acasă prin Internet. Server FreeSSHd instalat acasă. După cum am înțeles, trebuie să deschideți cumva portul 22 pe IP-ul extern? Alex

Da, este adesea necesar. Am vorbit multe în articolul respectiv, dar aici vom vorbi exclusiv despre SSH, întrucât Alex ne-a oferit cu amabilitate această oportunitate. În plus, eu însumi sunt extrem de interesat de SSH, și aici și pe Windows... mmm.

Ce este SSH și de ce este necesar?

Ideea este că SSH este S sigur SH ell. Protocol pentru acces securizat la shell. Prin urmare, oferă acces la linia de comandă, deoarece Shell este tradus ca coajăși aici în sensul control text shell. Dar, în general, acest protocol este remarcabil prin faptul că permite oricărui alt trafic să treacă în interiorul său și în formă criptată. Deci, protocolul pentru conexiunea securizată la sistemul de fișiere se numește SFTP și funcționează peste SSH. Dar poate tunel absolut orice altă conexiune - fie că este HTTP sau chiar RDP. De fapt, se dovedește „VPN pe genunchi”.

Aici Alex a făcut deja jumătate din muncă, a instalat și a lansat FreeSSHd pe computerul său de acasă. Acest lucru vă permite să vă conectați la Windows prin SSH. În acest caz, „permite” este un cuvânt foarte puternic. Pentru că această soluție funcționează cumva pe Windows. În primul rând, nu are o interfață decentă bazată pe text - linia de comandă, pentru control.

Cel puțin obișnuit - cmd - puțin care vă permite să faceți cu o mașină la distanță. Există și Powershell - aceasta este o soluție mai modernă și mai puternică. Freesshd vă permite să schimbați consola în powershell, dar nu m-am putut conecta la ea. M-am conectat la CMD - dar este complet inutilizabil:

În al doilea rând, în cazul FreeSSHd, nu m-am putut conecta la un computer Windows nici măcar printr-o rețea locală, ca să nu mai vorbim de conectarea prin Internet. Sau, mai degrabă, se pare că se conectează, dar serviciul se blochează și se blochează, nu va funcționa pentru a gestiona gazda Windows în acest fel.

Deci presupun că Alex avea nevoie de un server ssh pe Windows pentru a se conecta la sistemul de fișiere sau pentru a-l folosi ca VPN, ceva proxy prin SSH. Deși mă îndoiesc că FreeSSHd va permite acest lucru. În al treilea rând: nici măcar nu salvează setările, când serviciul este repornit, totul merge rătăcit. În general, sper foarte mult că Alex ne va spune în comentarii de ce a avut nevoie.

Cum altfel poți rula SSH pe Windows?

Există o soluție mai viabilă - Powershelserver. Deși are și bug-uri, cel puțin nu se blochează. Prin urmare, aș recomanda să îl utilizați pentru a vă conecta prin SSH la serverele Windows.

În primul rând, funcționează stabil, fără blocări. Și prin el puteți gestiona cu adevărat Windows prin powershell.

Toate setările sunt salvate în mod normal. Sunt disponibile aceleași funcții ca și în FreeSSHd și chiar mai mult - puteți utiliza SCP - aceasta este copierea fișierelor prin SSH.

Dar cea mai cochetă este consola! Funcționează, domnule!

M-am conectat ușor, fără să dansez cu adăugarea de utilizatori (acest lucru trebuie făcut în freesshd). Și acea comandă simplă de vizualizare a tabelului de rutare a funcționat perfect și a oferit informațiile necesare. Frisssh-ul meu "a căzut" când am încercat să văd netstat -rn

Aici puteți vedea cu adevărat că caracterele rusești nu sunt afișate. Așa că este ușor pentru noi să-l setăm, am setat doar codificarea de care am nevoie pe powershellserver, repornesc, reconectam...

Setare de codificare în Powershellserver

Acum avem un SSH cu drepturi depline și putem controla complet Windows prin consolă.

Microsoft își va crea propria soluție pentru SSH

Apropo, Microsoft a anunțat în vară că urmează să se dezvolte nativ Suport SSH pentru Powershell în noile versiuni de Windows. Există știri pe Habré și pe pcweek (și multe altele). Prin urmare, nu putem decât să așteptăm cu nerăbdare acest eveniment de referință, deoarece va fi într-adevăr o descoperire pentru munca în rețele eterogene.

Nu am verificat celelalte funcții - sftp și scp, dar din anumite motive sunt sigur că și ele vor funcționa bine.

Cum se deschide un port SSH din exterior?

Așadar, am ajuns la secretul, de dragul căruia a început acest articol în general. Răspunsul la o întrebare a unui cititor.

Redirecționare porturi pe un router sau modem

Pentru a vă conecta la un computer din exterior, trebuie neapărat să faceți NAT sau, într-un anumit caz, . Cum se face acest lucru depinde de dispozitivul care este utilizat ca gateway. Poate fi un modem ADSL sau. În cele mai multe cazuri, instrucțiuni detaliate pentru dispozitivul dvs. sunt ușor de găsit în interogări precum „port forwarding modelul dispozitivului" sau "port forwarding modelul dispozitivului»

Așa arată pe routerul meu Zyxel Keenetic Lite de acasă:

Și așa arată pe un modem ADSL cu funcționalitatea unui router Linksys WAG200G, care este la îndemână:

În plus, este posibil să nu fie posibil din punct de vedere tehnic pentru unii furnizori, deoarece aceștia nu oferă „alb” .

Redirecționarea portului către un server la distanță folosind un tunel SSH

În acest caz, singura modalitate de conectare prin SSH poate fi disponibilă - de la mașina locală Windows (cea la care dorim să ne conectăm prin SSH) la un server la distanță. În acest caz, trebuie să aveți acces SSH la un server de pe Internet.

Configurarea unui tunel SSH „invers”.

O astfel de redirecționare este ușor de făcut folosind un simplu client Putty SSH (există unul). Apoi vă puteți conecta la acest server cel mai îndepărtat prin portul redirecționat.

Aceasta este în esență o buclă. Deschidem o sesiune SSH de la Windows la un server la distanță, iar în cadrul acestei conexiuni facem tunel portul SSH al Windows Powershellserver (sau FreeSSHd) însuși către portul local 3322 al serverului la distanță. Și în aceeași sesiune, acum ne conectăm înapoi la Windows pe Powershell prin acest port 3322... Sper că nu sunteți confuz. Dar... Aceasta este magie, prieteni! :) Tunelurile SSH sunt o lume specială, cu ajutorul lor poți face lucruri incredibile, deschide astfel de uși încât toți securiștii vor plânge amar dacă vor afla dintr-o dată despre toate astea... Ei bine.

Ei bine, dacă trebuie să partajați portul SSH Windows în lume, este suficient să specificați ip_server:3322 mai degrabă decât localhost:3322 ca destinație în setările tunelului invers. Vă puteți conecta la Windows prin SSH de oriunde unde aveți acces la acest server.

Cum se verifică dacă portul este redirecționat corect?

Foarte simplu. Trebuie să verificați dacă este deschis. În cazul SSH, un port deschis va răspunde cu un mesaj despre versiunea sa. Cel mai simplu mod de a verifica un port este cu utilitarul telnet.

Trebuie doar să tastați pe linia de comandă, separate de un spațiu:

portul telnet domain_or_ip

Dacă portul este disponibil, veți vedea ceva de genul acesta:

Răspuns SSH dacă portul este disponibil

Dacă portul este indisponibil dintr-un motiv oarecare, atunci veți vedea fie „conexiune refuzată”, fie „timeout conexiune”. În primul caz, va fi instantaneu și înseamnă că portul este închis de un firewall.

În al doilea caz, va arăta ca o „înghețare” și poate dura până la câteva minute - clientul telnet va încerca să stabilească o conexiune. Poate însemna și un bloc de firewall, dar de alt tip. Sau pur și simplu că gazda specificată este indisponibilă sau portul de pe ea este închis.

Dacă ați reușit să vă conectați prin telnet, atunci apăsați combinația de taste Ctrl +] și introduceți părăsi, apoi Enter. În caz contrar, nu veți putea încheia sesiunea și va trebui să deschideți o nouă fereastră de consolă dacă mai aveți nevoie de ea.

Aceasta va fi o serie de articole despre instalarea și configurarea unui server simplu pentru o echipă de dezvoltare web. Serverul va avea Git, FTP, SSH, Apache 2, PHP 5.4, MySQL, cron, subdomenii, memcached, Composer. Articolele se vor aplica pentru Ubuntu 14.04. Cred că serverul va fi folosit în scopuri corporative, și nu pentru proiectele finale. Deși, dacă este permis ca proiectul să fie pe serverul de dezvoltare, atunci de ce nu...

Voi face o rezervare imediat. Nu am suficientă experiență în administrarea serverelor și nu o fac profesional, așa că nu pot garanta corectitudinea 100% a acțiunilor descrise mai jos. Instrucțiunea este o notă pentru implementarea rapidă a serverului pentru nevoile mele. Dacă vedeți o eroare clară sau „acest lucru nu trebuie făcut în producție” (deși am stipulat că proiectele nu trebuie păstrate pe serverul de dezvoltare), atunci vă voi fi recunoscător dacă descrieți soluția corectă în comentarii.

Se presupune că Ubuntu 14.04 este deja instalat pe server (pe un VPS/VDS, de exemplu) și există acces la consola rădăcină.

  1. Utilizatori și SSH

Să începem.

Utilizatori de server

În primul rând, o listă scurtă de comenzi pentru lucrul cu utilizatorii.

Adăugați un utilizator nou

Adăugați utilizator Nume de utilizator

Ștergeți utilizatorul

userdel -r Nume de utilizator

Schimbaţi parola

passwd Nume de utilizator

Conectați-vă ca utilizator

su Nume de utilizator

Reveniți la rădăcină:

Schimbați directorul principal

usermod -d directorul_necesar Nume de utilizator

Setați proprietarul și grupul unui director (și tot conținutul acestuia)

chown-R Nume de utilizator:directorul nume de grup

Decideți despre utilizatori

  • mygit - pentru a demonstra cum se lucrează cu depozitele Git;
  • myftp - pentru a demonstra cum se lucrează cu FTP;
  • myssh - pentru a demonstra cum se lucrează cu SSH.

Dacă myssh este clar, atunci, la prima vedere, accesul SSH la mygit și cu atât mai mult myftp nu este necesar. Puteți interzice accesul la SSH anumitor utilizatori (sau le puteți permite doar anumitor utilizatori). /etc/ssh/sshd_config, dar mygit folosește SSH pentru a autoriza Git. Prin urmare, mai jos va fi luată în considerare o altă metodă, care nu necesită o repornire a SSH și, pe de o parte, nu permite accesul la consolă prin SSH mygit, dar, pe de altă parte, permite utilizarea SSH pentru a lucra cu Git.

SSH

Instruire

Instalarea clientului și serverului OpenSSH se face cu comanda:

apt-get install ssh

Configurare

Folosind editorul mcedit (sau nano, în cazul mcedit, trebuie să instalați mai întâi mc), deschideți fișierul /etc/ssh/sshd_config:

Mcedit /etc/ssh/sshd_config

Asigurați-vă că următoarea setare are valoarea specificată:

PermitEmptyPasswords nr

Aici puteți specifica un alt port pentru SSH, dar în acest caz, data viitoare când clienții se conectează, comanda de conectare ar trebui să arate astfel:

ssh -p PORT login@server

Puteți reporni serverul SSH cu comanda:

service ssh restart

Clienții

Utilizatorii care se vor conecta la server prin SSH sau Git (prin SSH) trebuie să aibă un client SSH instalat și cheile generate. Puteți verifica dacă cheia a fost generată de prezența fișierului ~/.ssh/id_rsa.pub. Dacă nu, trebuie să îl generați, de exemplu, folosind următoarea comandă:

ssh-keygen -t rsa -C" [email protected] Server"

Parola nu poate fi setată.

Apoi adăugați cheia la ssh-agent:

ssh-add ~/.ssh/id_rsa

Autorizare cheie

Pentru a nu introduce o parolă de fiecare dată când vă conectați cu SSH și Git (va funcționa și pentru noi prin SSH), trebuie să creați un fișier ~/.ssh/authorized_keys acei utilizatori pe server la care se vor face conexiuni.

Notă: Pentru a crea directorul .ssh (dacă nu există) și fișierul authorized_keys, trebuie să fiți autentificat ca același utilizator al cărui director principal sunt efectuate acțiunile. Sau după ce setați drepturile, grupul și proprietarul corespunzătoare. În viitor, atunci când se schimbă fișierul authorized_keys, ar trebui să se țină cont și de acest lucru.

În acest fișier, fiecare rând trebuie să conțină conținutul cheii publice ( ~/.ssh/id_rsa.pub) a clienților acestui utilizator. Trebuie să existe o linie goală la sfârșitul fișierului authorized_keys.

Cu alte cuvinte, dacă avem server_user_1 care va fi accesat prin ssh de către clienții client_user_1 și client_user_2, atunci în directorul principal al utilizatorului server_user_1, fișierul ~/.ssh/authorized_keys ar trebui să aibă trei linii:

Conținutul lui id_rsa.pub client_user_1 Conținutul lui id_rsa.pub client_user_2 (șir gol)

  • Serghei Savenkov

    un fel de recenzie „rare”... parcă s-ar grăbi undeva