Curs Linux Advanced: Diferență între versiuni
Admin (discuție | contribuții) Fără descriere a modificării |
Admin (discuție | contribuții) Fără descriere a modificării |
||
Linia 5: | Linia 5: | ||
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. | 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 | SSH utilizeaza o arhitectura client-server pentru comunicarea securizata prin retea, prin conectarea unui client ssh cu serverul ssh. In mod implicit, serverul SSH 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. | 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. | ||
Linia 25: | Linia 25: | ||
O data deschisa conexiunea, prin SSH se deschide TTY-ul standard de login care il intampina pe utilizator. | 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) | 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=== | ===Setup=== | ||
Linia 50: | Linia 49: | ||
# iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name ssh –rsource | # iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name ssh –rsource | ||
Utilizarea cheilor publice/private pentru autentificare | Utilizarea cheilor publice/private pentru autentificare | ||
Linia 91: | Linia 89: | ||
Pentru a evita o sesiune SSH nesupravegheată, puteți seta un interval de timeout inactiv. Deschideți fișierul /etc/ssh/sshd_config și adăugați următoarea linie: | Pentru a evita o sesiune SSH nesupravegheată, puteți seta un interval de timeout inactiv. Deschideți fișierul /etc/ssh/sshd_config și adăugați următoarea linie: | ||
ClientAliveInterval 360 | |||
ClientAliveCountMax 0 | |||
ClientAliveCountMax 0 | |||
Intervalul de timeout pe care îl setați este în secunde (360 secunde = 6 minute). Odată ce intervalul a trecut, utilizatorul inactiv va fi deconectat automat. | Intervalul de timeout pe care îl setați este în secunde (360 secunde = 6 minute). Odată ce intervalul a trecut, utilizatorul inactiv va fi deconectat automat. | ||
Linia 101: | Linia 98: | ||
Trebuie să împiedicați autentificarea de la distanță de la conturi cu parole goale pentru o securitate sporită. Deschideți fișierul /etc/ssh/sshd_config și actualizați următoarea linie: | Trebuie să împiedicați autentificarea de la distanță de la conturi cu parole goale pentru o securitate sporită. Deschideți fișierul /etc/ssh/sshd_config și actualizați următoarea linie: | ||
PermitEmptyPasswords nr | PermitEmptyPasswords nr | ||
Linia 127: | Linia 123: | ||
==Acces VNC== | ==Acces VNC== | ||
De multe ori, avem nevoie să accesăm de la distanță un server Linux. Dacă avem nevoie în mod special de acces la GUI Linux, atunci putem configura un server VNC pe Linux-ul nostru, pentru a ne permite să controlăm GUI. | De multe ori, avem nevoie să accesăm de la distanță un server Linux. Dacă avem nevoie în mod special de acces la GUI Linux, atunci putem configura un server VNC pe Linux-ul nostru, pentru a ne permite să controlăm GUI. | ||
Linia 135: | Linia 129: | ||
Vom presupune un mediu de rețea securizat în care serverul nostru nu este accesibil lumii exterioare, iar parola este o protecție suficient de puternică. Cu toate acestea, vom acoperi și utilizarea tunelului SSH pentru cazurile în care este necesară securitate suplimentară. | Vom presupune un mediu de rețea securizat în care serverul nostru nu este accesibil lumii exterioare, iar parola este o protecție suficient de puternică. Cu toate acestea, vom acoperi și utilizarea tunelului SSH pentru cazurile în care este necesară securitate suplimentară. | ||
'''2.''' Introducere în VNC | '''2.''' Introducere în VNC | ||
Linia 142: | Linia 137: | ||
Pentru stabilirea unei conexiuni la distanță, avem nevoie atât de un server, cât și de un client. Există multe soluții VNC din care puteți alege, cum ar fi Vino, RealVNC, TightVNC și TigerVNC. | Pentru stabilirea unei conexiuni la distanță, avem nevoie atât de un server, cât și de un client. Există multe soluții VNC din care puteți alege, cum ar fi Vino, RealVNC, TightVNC și TigerVNC. | ||
'''3.''' Instalarea serverului VNC | '''3.''' Instalarea serverului VNC | ||
Linia 167: | Linia 163: | ||
În cele din urmă, serverul nostru TightVNC este instalat cu succes. | În cele din urmă, serverul nostru TightVNC este instalat cu succes. | ||
'''4.''' Configurarea serverului VNC | '''4.''' Configurarea serverului VNC | ||
Linia 177: | Linia 174: | ||
Parolă: | Parolă: | ||
Verifica: | Verifica: | ||
Doriți să introduceți o parolă numai pentru vizualizare ( | Doriți să introduceți o parolă numai pentru vizualizare (Y/n)? N | ||
Mergând mai departe, vom întâlni o solicitare care ne întreabă dacă dorim să setăm o parolă numai pentru vizualizare pentru accesarea serverului. Setarea acestei parole depinde de nevoile noastre. | Mergând mai departe, vom întâlni o solicitare care ne întreabă dacă dorim să setăm o parolă numai pentru vizualizare pentru accesarea serverului. Setarea acestei parole depinde de nevoile noastre. | ||
Linia 236: | Linia 233: | ||
'''5.''' Accesarea serverului VNC de pe mașina client | '''5.''' Accesarea serverului VNC de pe mașina client | ||
Odată ce serverul | Odată ce serverul VNC este în funcțiune, îl putem accesa de pe orice computer client folosind detaliile serverului nostru. Cu toate acestea, este important să rețineți că oricine are aceste informații poate accesa serverul. Prin urmare, presupunem că am setat o parolă VNC puternică și am configurat reguli de firewall pentru a restricționa accesul la anumite adrese sau intervale IP. | ||
Permitere acces din exterior (asumand port default 5900 si masina conectata direct, daca nu se va folosi tunel SSH): | |||
iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 5900 -j ACCEPT | |||
Din Windows | Din Windows | ||
Să accesăm serverul nostru VNC din Windows. În acest scop, să descarcăm și să instalăm clientul TightVNC în sistemul nostru. | Să accesăm serverul nostru VNC din Windows. În acest scop, să descarcăm și să instalăm clientul TightVNC în sistemul nostru. In TightVNC Viewer introdu <server_IP_address>:<display_port> în câmpul Remote Host. Apoi, apăsați butonul Conectare: | ||
Din Linux sau MacOS | Din Linux sau MacOS | ||
Putem folosi orice client VNC | Putem folosi orice client VNC pentru a controla serverul nostru VNC. În clientul VNC, tastați <server_IP_address>:<display_port> pentru a accesa serverul. | ||
De exemplu, pe computerul nostru Linux, putem deschide Remmina Remote Desktop Client și introducem IP-ul și portul de afișare al serverului nostru | De exemplu, pe computerul nostru Linux, putem deschide Remmina Remote Desktop Client și introducem IP-ul și portul de afișare al serverului nostru. | ||
'''6.''' Securitate suplimentară (opțional) | '''6.''' Securitate suplimentară (opțional) | ||
Linia 295: | Linia 291: | ||
$ sudo cp /etc/samba/smb.conf ~ | $ sudo cp /etc/samba/smb.conf ~ | ||
Această comandă va face fișierul de | Această comandă va face fișierul de backup în directorul de origine sau alternativ. | ||
$ sudo cp /etc/samba/smb.conf /etc/samba/smb_bkp.conf | $ sudo cp /etc/samba/smb.conf /etc/samba/smb_bkp.conf | ||
Linia 313: | Linia 309: | ||
read only = no | read only = no | ||
create mask = 0755 | create mask = 0755 | ||
Acest exemplu folosește /srv/samba/share deoarece, conform standardului de ierarhie a sistemului de fișiere (FHS), /srv unde ar trebui să fie deservite date specifice site-ului. Acțiunile Samba din punct de vedere tehnic pot fi plasate oriunde pe sistemul de fișiere, atât timp cât permisiunile sunt corecte, dar se recomandă aderarea la standarde. | Acest exemplu folosește /srv/samba/share deoarece, conform standardului de ierarhie a sistemului de fișiere (FHS), /srv unde ar trebui să fie deservite date specifice site-ului. Acțiunile Samba din punct de vedere tehnic pot fi plasate oriunde pe sistemul de fișiere, atât timp cât permisiunile sunt corecte, dar se recomandă aderarea la standarde. | ||
Linia 322: | Linia 317: | ||
sudo chown nimeni: nogroup/srv/samba/share/ | sudo chown nimeni: nogroup/srv/samba/share/ | ||
Comutatorul -p îi spune lui Mkdir să creeze întregul arbore de director dacă nu există. | ''Comutatorul -p îi spune lui Mkdir să creeze întregul arbore de director dacă nu există.'' | ||
În cele din urmă, reporniți serviciile SAMBA pentru a activa noua configurație: | În cele din urmă, reporniți serviciile SAMBA pentru a activa noua configurație: |
Versiunea de la data 8 noiembrie 2024 22:40
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 SSH 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.).
2. Configurați intervalul de expirare inactiv
Pentru a evita o sesiune SSH nesupravegheată, puteți seta un interval de timeout inactiv. Deschideți fișierul /etc/ssh/sshd_config și adăugați următoarea linie:
ClientAliveInterval 360
ClientAliveCountMax 0
Intervalul de timeout pe care îl setați este în secunde (360 secunde = 6 minute). Odată ce intervalul a trecut, utilizatorul inactiv va fi deconectat automat.
Dezactivați parolele goale
Trebuie să împiedicați autentificarea de la distanță de la conturi cu parole goale pentru o securitate sporită. Deschideți fișierul /etc/ssh/sshd_config și actualizați următoarea linie:
PermitEmptyPasswords nr
Limitați accesul SSH al utilizatorilor
Pentru a oferi un alt nivel de securitate, ar trebui să vă limitați conexiunile SSH doar la anumiți utilizatori care au nevoie de acces de la distanță. În acest fel, veți minimiza impactul de a avea un utilizator cu o parolă slabă.
Deschideți fișierul /etc/ssh/sshd_config pentru a adăuga o linie „AllowUsers”, urmată de lista de nume de utilizator și separați-le cu un spațiu:
AllowUsers utilizator1 utilizator2
Apoi reporniți serviciul SSH.
Dezactivați autentificarea ca root
Una dintre cele mai periculoase găuri de securitate pe care le puteți avea în sistemul dvs. este să permiteți conectarea directă la root prin SSH. Procedând astfel, orice hacker care încearcă să folosească forța brută asupra parolei dvs. de root ar putea accesa ipotetic sistemul dvs.; și dacă vă gândiți bine, root poate provoca mult mai multe daune pe o mașină decât poate face un utilizator standard.
Găsiți secțiunea din fișierul care conține #PermitRootLogin.
Pentru a dezactiva conectarea prin SSH ca root, schimbați linia în aceasta:
PermitRootLogin no
Simbolul # (comentar) îi spune serverului să ignore orice după el pe aceeași linie. Eliminați # pentru ca modificările să aibă efect.
Acces VNC
De multe ori, avem nevoie să accesăm de la distanță un server Linux. Dacă avem nevoie în mod special de acces la GUI Linux, atunci putem configura un server VNC pe Linux-ul nostru, pentru a ne permite să controlăm GUI.
În acest tutorial, vom instala serverul TightVNC pe Ubuntu 22.04 și îl vom accesa prin Windows, MacOS și o mașină Linux.
Vom presupune un mediu de rețea securizat în care serverul nostru nu este accesibil lumii exterioare, iar parola este o protecție suficient de puternică. Cu toate acestea, vom acoperi și utilizarea tunelului SSH pentru cazurile în care este necesară securitate suplimentară.
2. Introducere în VNC
VNC (Virtual Network Computing) este un sistem grafic popular de partajare a desktopului. Permite utilizatorilor să-și controleze sistemele folosind protocolul RFB (Remote Frame Buffer) fără a avea acces fizic.
VNC permite utilizatorilor să citească și să partajeze fără probleme fișiere, să modifice setările și să execute comenzi pe server utilizând evenimentul de tastatură și mouse al computerului client.
Pentru stabilirea unei conexiuni la distanță, avem nevoie atât de un server, cât și de un client. Există multe soluții VNC din care puteți alege, cum ar fi Vino, RealVNC, TightVNC și TigerVNC.
3. Instalarea serverului VNC
Vom instala serverul TightVNC deoarece este open-source, întreținut activ și ușor. În plus, oferă numeroase funcții, cum ar fi protecția cu parolă, criptarea și scalarea.
Înainte de a instala serverul TightVNC, ar trebui să ne asigurăm că managerul nostru de pachete este actualizat:
$ sudo apt update && sudo apt upgrade -y Hit:1 http://pk.archive.ubuntu.com/ubuntu jammy InRelease Hit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease …
În continuare, vom instala un mediu desktop pe serverul nostru Ubuntu, deoarece nu vine cu el în mod implicit. În acest scop, să instalăm mediul desktop XFCE:
$ sudo apt install xfce4 xfce4-goodies Citirea listelor de pachete... Gata Construirea arborelui de dependențe... Gata …
Astfel, mediul nostru desktop este instalat cu succes.
Apoi, să instalăm serverul TightVNC:
$ sudo apt install tightvncserver -y
În cele din urmă, serverul nostru TightVNC este instalat cu succes.
4. Configurarea serverului VNC
Acum, să configuram serverul nostru VNC pentru a-l accesa de pe mașinile client.
În primul rând, vom seta o parolă pentru serverul nostru VNC. Pentru a face acest lucru, rulăm comanda vncpasswd și setăm o parolă sigură de șase până la opt caractere:
$ vncpasswd Folosind fișierul de parole /home/baeldung/.vnc/passwd Parolă: Verifica: Doriți să introduceți o parolă numai pentru vizualizare (Y/n)? N
Mergând mai departe, vom întâlni o solicitare care ne întreabă dacă dorim să setăm o parolă numai pentru vizualizare pentru accesarea serverului. Setarea acestei parole depinde de nevoile noastre.
În cazul nostru, dorim să oferim acces complet la server, așa că vom introduce N.
Apoi, să rulăm comanda vncserver pentru a porni serverul TightVNC și a crea fișierele sale de configurare inițială:
Nota: Cu x0vncserver se poate porni un server vnc direct peste sesiunea curenta de desktop X11, este mai simplu insa inadecvat pentru servere.
$ vncserver Noul desktop „X” este baeldung-linux:1 Pornirea aplicațiilor specificate în /home/baeldung/.vnc/xstartup Fișierul jurnal este /home/baeldung/.vnc/baeldung-linux:1.log
În ieșire, putem observa că după numele gazdei, există un număr (:1), care este cunoscut sub numele de portul de afișare. Acest port de afișare indică portul pe care rulează instanța serverului. În mod implicit, serverul VNC ascultă pe portul TCP 5900, deci acest port de afișare :1 înseamnă că instanța serverului rulează pe portul 5901 (5900 + 1).
VNC ne permite să creăm mai multe instanțe de server VNC pe diferite porturi de afișare, rulând aceeași comandă.
Deocamdată, să omorâm această instanță de server pentru a efectua unele configurații de server:
$ vncserver -kill :1 -force Uciderea procesului Xtightvnc ID 6111
Putem folosi această comandă pentru a termina orice instanță de server care rulează pe un anumit port de afișare atunci când nu este necesar, modificând numărul portului de afișare în consecință.
În continuare, dorim ca serverul nostru VNC să folosească mediul desktop XFCE de fiecare dată când rulează. În acest scop, vom adăuga startxfce4 și linia în fișierul ~/.vnc/xstartup. După modificarea fișierului, putem verifica conținutul acestuia folosind comanda cat:
$ echo "startxfce4 &" >> ~/.vnc/xstartup $ cat ~/.vnc/xstartup #!/bin/sh xrdb „$HOME/.Xresources” xsetroot -gri solid #x-terminal-emulator -geometry 80x24+10+10 -ls -title „$VNCDESKTOP Desktop” & #x-window-manager & # Remediați pentru ca GNOME să funcționeze exportați XKL_XMODMAP_DISABLE=1 /etc/X11/Xsession startxfce4 &
Fișierul xstartup se execută automat când începe o sesiune VNC.
În plus, putem configura alte componente sau aplicații, cum ar fi un manager de fișiere, pentru a iniția cu serverul nostru VNC în acest fișier.
După modificarea fișierului xstartup, îi vom schimba permisiunea la executabil folosind comanda chmod:
$ chmod +x ~/.vnc/xstartup
În cele din urmă, să începem instanța serverului nostru TightVNC:
$ vncserver Noul desktop „X” este baeldung-linux:1
Am instalat și configurat cu succes serverul VNC în Ubuntu. Pentru a verifica adresa IP a serverului nostru, putem folosi comanda hostname -I.
În plus, putem configura serverul nostru VNC să ruleze ca un serviciu systemd pentru confortul nostru.
5. Accesarea serverului VNC de pe mașina client
Odată ce serverul VNC este în funcțiune, îl putem accesa de pe orice computer client folosind detaliile serverului nostru. Cu toate acestea, este important să rețineți că oricine are aceste informații poate accesa serverul. Prin urmare, presupunem că am setat o parolă VNC puternică și am configurat reguli de firewall pentru a restricționa accesul la anumite adrese sau intervale IP.
Permitere acces din exterior (asumand port default 5900 si masina conectata direct, daca nu se va folosi tunel SSH):
iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 5900 -j ACCEPT
Din Windows
Să accesăm serverul nostru VNC din Windows. În acest scop, să descarcăm și să instalăm clientul TightVNC în sistemul nostru. In TightVNC Viewer introdu <server_IP_address>:<display_port> în câmpul Remote Host. Apoi, apăsați butonul Conectare:
Din Linux sau MacOS
Putem folosi orice client VNC pentru a controla serverul nostru VNC. În clientul VNC, tastați <server_IP_address>:<display_port> pentru a accesa serverul.
De exemplu, pe computerul nostru Linux, putem deschide Remmina Remote Desktop Client și introducem IP-ul și portul de afișare al serverului nostru.
6. Securitate suplimentară (opțional)
Dacă avem nevoie de securitate suplimentară și dorim să ne asigurăm că numai clienții cu acces SSH anterior la serverul nostru se pot conecta la serverul VNC, putem restricționa serverul nostru VNC pentru a accepta numai conexiuni care provin de la acesta. Apoi, putem redirecționa toate conexiunile de la clienții noștri către server printr-un tunel SSH criptat.
În acest scop, vom porni serverul nostru folosind comanda vncserver cu indicatorul -localhost:
$ vncserver -localhost
Odată ce serverul nostru rulează, ne vom îndrepta către computerul nostru client pentru a ne accesa serverul.
Tunel SSH în Linux sau MacOS
$ ssh -L 5901:localhost:5901 -C -N -l baeldung-linux 192.168.10.119
Sintaxa pentru această comandă este dată mai jos:
$ ssh -L <sursă_port>:localhost:<display_port> -C -N -l <username> <server_ip>
Trebuie să înlocuim variabilele de comandă în funcție de informațiile și preferințele serverului nostru (port sursă). Odată ce sesiunea SSH este stabilită cu succes, vom minimiza terminalul. Apoi, vom deschide orice client VNC și vom tasta localhost::<display_port> pentru a accesa serverul VNC.
Tunelul SSH în Windows
În Windows, vom folosi PuTTY pentru a crea un tunel SSH.
În PuTTY, navigați la opțiunea Tunnels situată sub opțiunea SSH din bara laterală Category. Aici, specificați un port sursă (5901) pentru redirecționarea traficului SSH. Poate fi orice port neutilizat (de la 0 la 65535). În plus, vom introduce adresa IP și portul de afișare al serverului VNC în câmpul Destinație. Apoi, vom apăsa butonul Adaugă: PuTTY SSH Tunneling. Apoi, să alegem categoria Sesiune și să introducem adresa IP a serverului în câmpul Nume gazdă. Apoi, apăsați butonul Deschidere: Sesiune SSH PuTTY. Acum, vom introduce parola serverului pentru a stabili o sesiune SSH și a minimiza această fereastră: Sesiune PuTTY SSH.Apoi, vom deschide TightVNC Viewer și vom tasta localhost::<display_port> în câmpul Remote Host.
În cele din urmă, apăsăm butonul Conectare pentru a accesa serverul.
SAMBA Server - Partajarea fișierelor cu Windows
Pentru a configura Samba, primul pas este instalarea acesteia folosind comanda de mai jos:
$ sudo apt install samba
După terminarea instalării, tot ce trebuie să faceți este să o configurați. Fișierul de configurare este localizat în /etc/samba/ pe un fișier numit smb.conf.
Atunci când te încurci cu fișierele de sistem, este întotdeauna mai bine să faci o copie de rezervă a fișierului pe care urmează să -l schimbăm. Pentru a face backup, fișierul înainte de a -l schimba, faceți o copie a fișierului.
$ sudo cp /etc/samba/smb.conf ~
Această comandă va face fișierul de backup în directorul de origine sau alternativ.
$ sudo cp /etc/samba/smb.conf /etc/samba/smb_bkp.conf
Crearea unei copii a fișierului în același folder ca fișierul original.
Dacă setați acest lucru pe un server Ubuntu, puteți utiliza VIM sau Nano pentru a edita fișierul smb.conf, pentru desktop Ubuntu, utilizați doar fișierul de editor de text implicit. Rețineți că toate comenzile (server sau desktop) trebuie să fie rulate ca rădăcină.
$ sudo nano /etc/samba/smb.conf
Apoi adăugați informațiile de mai jos la sfârșitul fișierului -
[share] comment = Ubuntu File Server Share path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0755
Acest exemplu folosește /srv/samba/share deoarece, conform standardului de ierarhie a sistemului de fișiere (FHS), /srv unde ar trebui să fie deservite date specifice site-ului. Acțiunile Samba din punct de vedere tehnic pot fi plasate oriunde pe sistemul de fișiere, atât timp cât permisiunile sunt corecte, dar se recomandă aderarea la standarde.
Acum, când SAMBA este configurat, directorul /srv/samba/share trebuie creat și permisiunile trebuie să fie setate. Creați directorul și schimbați permisiunile de la terminal.
sudo mkdir -p/srv/samba/share sudo chown nimeni: nogroup/srv/samba/share/
Comutatorul -p îi spune lui Mkdir să creeze întregul arbore de director dacă nu există.
În cele din urmă, reporniți serviciile SAMBA pentru a activa noua configurație:
sudo systemctl restart smbd.service nmbd.service
De la un client Windows, acum ar trebui să puteți naviga pe serverul de fișiere Ubuntu și să vedeți directorul partajat. Dacă clientul dvs. nu vă afișează automat cota dvs., încercați să accesați serverul dvs. prin adresa sa IP, de ex. \\ 192.168.1.1 sau nume de gazdă într -o fereastră Windows Explorer. Pentru a verifica dacă totul funcționează, încercați să creați un director din Windows.
Pentru a crea acțiuni suplimentare, pur și simplu creați noi secțiuni [dir] în /etc/samba/smb.conf și reporniți samba. Doar asigurați -vă că directorul pe care doriți să îl împărtășiți există efectiv și permisiunile sunt corecte.