Curs Linux Advanced

De la Wiki Linux Advanced
Versiunea din 7 noiembrie 2024 16:52, autor: Admin (discuție | contribuții) (Pagină nouă: ==Acces SSH== ===Despre=== Secure Shell (SSH) este un protocol de rețea criptografic ce permite ca datele să fie transferate folosind un canal securizat intre dispozitive de rețea. Cele două mari versiuni ale protocolului sunt SSH1 sau SSH-1 și SSH2 sau SSH-2. Folosit cu precădere în sistemele de operare multiutilizator bazate pe unix, SSH a fost dezvoltat ca un înlocuitor al Telnet-ului și al altor protocoale nesigure de acces de la distanță, care trimit informa...)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Sari la navigare Sari la căutare

Acces SSH

Despre

Secure Shell (SSH) este un protocol de rețea criptografic ce permite ca datele să fie transferate folosind un canal securizat intre dispozitive de rețea. Cele două mari versiuni ale protocolului sunt SSH1 sau SSH-1 și SSH2 sau SSH-2. Folosit cu precădere în sistemele de operare multiutilizator bazate pe unix, SSH a fost dezvoltat ca un înlocuitor al Telnet-ului și al altor protocoale nesigure de acces de la distanță, care trimit informatia, în special parola, în clar, făcând posibilă descoperirea ei prin analiza traficului. Criptarea folosită de SSH intenționează să asigure confidențialitatea și integritatea datelor transmise printr-o rețea nesigură cum este Internetul.

SSH utilizeaza o arhitectura client-server pentru comunicarea securizata prin retea, prin conectarea unui client ssh cu serverul ssh. In mod implicit, serverul SSHh ruleaza pe portul TCP standard 22.

SSH foloseste o tehnica de criptografie cu cheie publica pentru autentificare intre client si server. In plus, protocolul foloseste criptare simetrica puternica si algoritmi de hashing pentru schimbul de mesaje intre client si server, pentru a asigura confidentialitatea si integritatea datelor.

Majoritatea sesiunilor SSH vor avea doar urmatoarele doua operatii:

1. Autentificare

2. Executarea comenzii

Serverele SSH pot autentifica clientii folosind o varietate de metode; cele doua moduri de autentificare frecvent utilizate sunt:

1. Pe baza parolei (metoda implicita utilizata pentru clientii OpenSSH, cea mai simpla autentificare dar nu cea mai sigura)

2. Pe baza de cheie (imbunatateste securitatea sistemului prin generarea de perechi de chei SSH, o alternativa mai sigura)

Dupa ce serverul autentifica clientul cu succes, se stabileste o conexiune sigura intre ei.

O data deschisa conexiunea, prin SSH se deschide TTY-ul standard de login care il intampina pe utilizator.

SSH este folosit in principal pentru text (terminal) dar poate fi folosit si pentru accesul unor programe de interfata de la distanta (X11 Forwarding/ssh -X) sau pentru transfer de fisiere (sftp)


Setup

SSH-ul are nevoie de un server. Cel mai comun si folosit in acest curs este openssh-server

$ sudo apt install openssh-server -y

Când instalarea openssh-server este finalizată, vom folosi comanda systemctl pentru a-i verifica starea:

$ sudo systemctl status ssh

Serviciul SSH este în stare de rulare, se va configura partea de firewall:

# ufw allow ssh
sau
# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

Regula pentru a permite doar unui anumit IP sa acceseze server-ul:

# iptables -A INPUT -p tcp -s YourIP --dport 22 -j ACCEPT

Regula pentru a inregistra IP-urile ce se conecteaza la server:

# iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name ssh –rsource


Utilizarea cheilor publice/private pentru autentificare

Autentificarea cu chei publice/private este cu siguranță mai sigură și o soluție mult mai bună decât autentificarea prin parolă. Fiecare cheie este un număr mare cu proprietăți matematice diferite. Cheia privată este stocată pe computerul de pe care vă autentificați, în timp ce cheia publică este stocată în fișierul .ssh/authorized_keys de pe fiecare computer la care doriți să vă conectați.

Acest lucru este deosebit de important dacă computerul este vizibil pe Internet. Utilizarea cheilor criptate pentru autentificare este utilă, deoarece nu va mai trebui să introduceți o parolă. Odată ce autentificarea perechii de chei publice/private a fost configurată pe server, puteți dezactiva complet autentificarea prin parolă; aceasta înseamnă că nimeni fără o cheie autorizată nu va putea avea acces. Chiar și cei mai inventivi hackeri nu vor putea interveni sau se strecoară într-o sesiune și nu vor mai putea încerca să spargă parola.

Iată cum să creați o pereche de chei publice/private și să le instalați pentru a le utiliza pe serverul dvs. SSH:

Începeți prin a genera perechea de chei, o cheie publică și o cheie privată. Cheia publică va fi plasată pe server și vă veți autentifica cu cheia privată (aceasta trebuie efectuată pe fiecare computer client de la care vă conectați):

$ ssh-keygen -t rsa

Acest lucru va crea două fișiere în directorul dvs. (ascuns) ~/.ssh numite: id_rsa și id_rsa.pub Primul: id_rsa este cheia dumneavoastră privată și celălalt: id_rsa.pub este cheia dumneavoastră publică.

Vi se va cere apoi o frază de acces, care este parola dvs. pentru a debloca o anumită cheie publică de fiecare dată când vă conectați. Este alegerea dvs. să adăugați o criptare de protecție a unei fraze de acces la cheia dvs. atunci când o creați. Dacă preferați să nu utilizați unul, pur și simplu apăsați Enter când vi se cere expresia de acces atunci când vă creați perechea de chei. Rețineți că, dacă nu vă protejați cheia cu expresia de acces, oricine obține acces la mașina dvs. locală va avea automat acces SSH la serverul de la distanță.

Copiați cheia publică (id_rsa.pub) pe server (utilizatorul la distanță nu ar trebui să fie niciodată root; selectați utilizatorul implicit non-root ca utilizator la distanță):

Scp –p id_rsa.pub remoteuser@remotehost:

Apoi conectați-vă cu SSH și copiați cheia publică în locul potrivit:

ssh remoteuser@remotehost mkdir ~/.ssh chmod 700 ~/.ssh cat id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys mv id_rsa.pub ~/.ssh logout

Apoi ștergeți cheia publică de pe server, altfel clientul SSH nu vă va permite să vă conectați la server:

rm id_rsa.pub

Și, în sfârșit, setați permisiunile pentru fișiere pe server:

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

Când vă conectați la server, vi se va solicita expresia de acces cheie (în funcție de configurația dvs.).

Acces VNC

SAMBA file share

Următoarea pagină