Principala modalitate de conectare la un server Linux este prin protocolul SSH . Acest tip de conexiune este sigur, deoarece toate datele transferate prin intermediul acestuia sunt criptate. Pentru a stabili o conexiune SSH, trebuie să o configurați pe serverul la distanță la care doriți să vă conectați și clientul pe partea utilizatorului. Există o mulțime de programe software pentru conexiunea SSH. În ceea ce privește Linux, pachetul OpenSSH este cel mai popular, iar pentru Windows se folosește în mare parte PuTTY.
Să aruncăm o privire mai atentă asupra configurației serverului folosind Ubuntu Server 18.04 ca exemplu, apoi să încercăm să ne conectăm la server din Linux și Windows.
Tot ce vom face va fi dintr-un cont de utilizator obișnuit. În acest caz, am creat un utilizator „ mihail ”, iar contul „ root ” este dezactivat în mod implicit.
Configurare partea serverului
Configurați pachetul care rulează această comandă:
sudo apt install openssh-server
După finalizarea instalării, asigurați-vă că serviciul rulează. Utilizați această comandă:
systemctl status sshd
Starea „ Activ (în funcțiune) ” înseamnă că serviciul este activat și funcționează normal.
Pentru a evita blocarea conexiunilor de intrare de către firewall, asigurați-vă că îl dezactivați, deoarece nu vom configura firewall-ul de rețea în acest articol.
Utilizați această comandă:
sudo ufw disable
În această etapă vă puteți conecta deja la server. Cu setările implicite, serverul permite conectarea la portul standard 22 cu autentificare bazată pe parolă.
Conexiune SSH de la Linux
De regulă, clientul OpenSSH este instalat implicit pe Linux și nu necesită o configurare manuală suplimentară. Conexiunea poate fi stabilită de la terminal cu ajutorul comenzii ssh. Parametrii în acest caz ar fi numele de utilizator și adresa IP a serverului de la distanță. Pe serverul nostru de testare pe care îl folosim ca exemplu, există un singur cont „mihail”, așa că îl vom folosi.
ssh [email protected]
La prima conectare va trebui să confirmați adăugarea cheii publice a serverului la baza de date, așadar răspundeți cu „ da ”. După aceea, puteți introduce parola. Dacă conexiunea s-a stabilit cu succes, veți vedea un text de bun venit în linia de comandă a serverului. Acum toate comenzile vor fi executate direct pe serverul la distanță.
SSH din Windows
Deschideți Putty și setați parametrii de conexiune. Asigurați-vă că comutatorul „ Tip conexiune ” este setat pe SSH . Introduceți adresa IP în câmpul „ Nume gazdă ”, valoarea implicită 22 în „ Port ” și faceți clic pe „ Deschidere ”.
La prima conectare, Putty vă va cere să confirmați că aveți încredere în acest server, așa că faceți clic pe „ Da ”.
După ce introduceți datele de conectare și parola, veți vedea linia de comandă a serverului de la distanță.
Autentificare prin cheie. Creșterea nivelului de securitate
Când un client încearcă să stabilească o conexiune securizată la server prin SSH, înainte de a permite conexiunea, serverul trebuie să autentifice (verifice) clientul. După cum am menționat anterior, autentificarea bazată pe parolă este de obicei utilizată în mod implicit. Nu oferă securitate robustă, deoarece există întotdeauna o modalitate de a o forța brută. În plus, autentificarea cu parolă nu este aplicabilă conexiunilor SSH cu utilizarea de scripturi.
Pentru acest tip de sarcini există o metodă specială de autentificare prin cheie. Ideea este că clientul generează chei private și publice și apoi cheia publică este trimisă la server. După aceea, nu aveți nevoie de parolă pentru a vă conecta la server, deoarece autentificarea se realizează pe baza cheilor clientului public și privat. Pentru a oferi un nivel bun de securitate, accesul la cheia privată ar trebui restricționat. Datorită faptului că cheia privată este stocată pe partea clientului și nu este transferată prin rețea, se crede că această metodă este mai sigură.
Autentificare prin cheie pe Linux
Să generăm chei publice și private pe client cu ajutorul software-ului utilitar ssh-keygen. Instrumentul va sugera schimbarea căii către cheia privată și va introduce o expresie de acces pentru securitate suplimentară. Lăsați toți parametrii în mod implicit apăsând Enter la toate solicitările.
Prin urmare, în directorul principal din folderul .ssh veți găsi două fișiere generate: id_rsa și id_rsa.pub , care conțin chei private și publice, respectiv.
După aceea, va trebui să trimiteți cheia publică către server. Pentru a face acest lucru, copiați conținutul fișierului „ id_rsa.pub ” în fișierul „ ~/.ssh/authorized_keys ” de pe server. Să mergem la cea mai simplă cale cu ajutorul instrumentului „ ssh-copy-id ”. Introduceți datele de autentificare și adresa IP a serverului, la fel ca în cazul unei conexiuni obișnuite. După ce introduceți parola, cheia publică a clientului va fi copiată automat pe server. Rulați această comandă:
ssh-copy-id [email protected]
După ce faci toate acestea, serverul nu va mai necesita introducerea parolei.
Autentificare prin cheie pe Windows
Deschideți PUTTYGEN și faceți clic pe „ Generare ”. Pentru a genera cheile, trebuie doar să mutați mouse-ul peste ecran, iar instrumentul va genera cheile aleatoriu.
După ce cheile sunt generate, faceți clic pe „ Salvați cheia privată ” și salvați-o în fișierul cu cheia privată de pe disc. Puteți seta orice cale doriți, dar puțin mai târziu va trebui să o specificați în Putty. Apoi copiați cheia publică din partea de sus a ferestrei.
Să trimitem cheia publică prin simpla copiere a acesteia în terminal. Deschidem Putty și conectăm-ne la server ca de obicei. Acum să creăm „ .ssh/authorized_keys ” și să restricționăm accesul celorlalți utilizatori la fișier, astfel încât acesta să fie disponibil doar creatorului.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
După crearea fișierului, introduceți cheia publică a clientului în el. În etapa anterioară am copiat cheia publică în clipboard. Pentru a înregistra ceea ce este în clipboard în fișier, utilizați comanda cat și redirecționarea ieșirii.
cat > .ssh/authorized_keys
După ce introduceți comanda, faceți clic dreapta pe butonul mouse-ului în fereastra terminalului și lipiți ce se află în clipboard. Pentru a confirma introducerea, apăsați comanda rapidă „ Ctrl+D ” și deconectați-vă de la server.
Acum să specificăm calea către cheia privată în Putty și să ne conectăm din nou la server.
De acum înainte, pentru a vă conecta la server, va trebui doar să introduceți numele de utilizator. Dacă încercați să vă conectați la server de pe un alt dispozitiv care nu are cheia privată corectă, serverul va solicita parola. După ce autentificarea bazată pe chei este configurată, puteți interzice accesul prin parolă.