Economisiți 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul: Skills Începeți
Secțiuni
Linux Securitate Servere virtuale

SSH pe Virtual Hosting: Ghidul Complet pentru Managementul Securizat al Serverului

Secure Shell (SSH) este unul dintre cele mai puternice și esențiale instrumente din arsenalul oricărui administrator de sistem. Indiferent dacă gestionezi un mic proiect personal sau rulezi o aplicație web de producție, SSH îți oferă acces la distanță criptat și autentificat la serverul tău — permițându-ți să execuți comenzi, să transferi fișiere și să configurezi servicii fără a atinge vreodată mașina fizică.

Acest ghid cuprinzător acoperă tot ceea ce trebuie să știi despre lucrul cu SSH într-un mediu de găzduire virtuală: de la prima ta conexiune la consolidarea configurației tale împotriva atacurilor de forță brută.

1. Ce este SSH și de ce conteaza?

SSH (Secure Shell) este un protocol de rețea criptografic care creează un tunel criptat între mașina locală (clientul) și un server la distanță. Spre deosebire de protocoale mai vechi, cum ar fi Telnet sau FTP, SSH criptează tot traficul — inclusiv acreditările — ceea ce face practic imposibil pentru un atacator să intercepteze date sensibile în tranzit.

SSH este metoda standard pentru:

  • Acces la linia de comandă la distanță — executați orice comandă Linux/Unix pe serverul dvs. ca și cum ați fi în fața acestuia
  • Transferuri de fișiere sigure — mutați fișiere între mașini folosind SCP sau SFTP
  • Tunelarea și redirecționarea porturilor — rutați alte protocoale în siguranță printr-o conexiune SSH
  • Implementări și scripturi automatizate — conductele CI/CD, joburile cron și scripturile de backup se bazează pe SSH
  • Gestionarea serverelor web și a aplicațiilor — configurați Nginx, Apache, MySQL și altele

Dacă rulați un plan VPS Hosting sau un Server Dedicat, SSH este aproape sigur interfața dvs. principală pentru administrarea zilnică.

2. Cerințe preliminare înainte de conectare

Înainte de a stabili prima conexiune SSH, asigurați-vă că aveți următoarele:

CerințăDetalii
Adresa IP a serveruluiFurnizată în panoul de control al găzduirii sau în e-mailul de bun venit
Nume de utilizator SSHDe obicei root pentru un VPS nou, sau un utilizator personalizat pe medii gestionate
Parolă SSH sau cheieSetată în timpul aprovizionării sau trimisă prin e-mail
Client SSHÎncorporat în Linux/macOS; PuTTY sau Windows Terminal pe Windows
Port SSHImplicit este 22, dar poate fi personalizat pentru securitate

> Notă: Dacă sunteți pe un plan de Găzduire Web Partajată, accesul SSH poate fi restricționat sau poate necesita activare explicită în panoul de control. Verificați cu furnizorul dvs.

3. Cum să accesezi serverul tău prin SSH

Pasul 1: Deschide terminalul sau clientul SSH

  • Linux / macOS: Deschide aplicația Terminal încorporată
  • Windows 10/11: Folosește Windows Terminal, PowerShell sau Command Prompt (toate includ un client SSH nativ)
  • Windows (legacy): Descarcă PuTTY ca client SSH gratuit

Pasul 2: Conectează-te la serverul tău

Folosește următoarea sintaxă:

ssh username@your_server_ip

Exemplu:

ssh root@203.0.113.45

Dacă serverul tău folosește un port non-standard (mai multe detalii despre de ce ar trebui să-l schimbi mai târziu), specifică-l cu steagul -p:

ssh username@your_server_ip -p 2222

Pasul 3: Verifică amprenta gazdei

Prima dată când te conectezi la un server nou, SSH va afișa un mesaj ca acesta:

The authenticity of host '203.0.113.45 (203.0.113.45)' can't be established.
ED25519 key fingerprint is SHA256:abc123...
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Tastează yes și apasă Enter. SSH va salva amprenta serverului în fișierul tău ~/.ssh/known_hosts. La conexiunile viitoare, va verifica identitatea serverului automat — alertând-te dacă ceva se schimbă (ceea ce ar putea indica un atac man-in-the-middle).

Pasul 4: Autentificare

Introdu parola când ți se cere. Rețineți că terminalul nu va afișa niciun caracter pe măsură ce tastezi — aceasta este comportamentul normal din motive de securitate.

După autentificare, vei vedea promptul comenzii serverului tău, de obicei ceva de genul:

root@hostname:~#

Acum ești conectat și poți începe să gestionezi serverul tău.

4. Comenzi SSH esențiale pentru gestionarea serverului

După conectare, aveți acces complet la linia de comandă Linux. Iată cele mai importante comenzi pentru gestionarea unui mediu de hosting virtual:

Operații cu fișiere și directoare

# List files and directories with details
ls -la

# Change to a specific directory
cd /var/www/html

# Create a new directory
mkdir my_project

# Remove a file
rm filename.txt

# Remove a directory and its contents
rm -rf /path/to/directory

# Copy a file
cp source.txt destination.txt

# Move or rename a file
mv oldname.txt newname.txt

Vizualizarea și editarea fișierelor

# View file contents
cat /etc/nginx/nginx.conf

# View large files page by page
less /var/log/nginx/access.log

# Edit a file with nano (beginner-friendly)
nano /etc/ssh/sshd_config

# Edit a file with vim (advanced)
vim /etc/nginx/sites-available/default

Monitorizarea sistemului

# Check disk usage (human-readable)
df -h

# Check memory usage
free -m

# Real-time process monitor
top

# Enhanced process monitor (install if needed)
htop

# Check running services
systemctl status nginx

# View recent system logs
journalctl -xe

Gestionarea pachetelor (Ubuntu/Debian)

# Update package list
sudo apt update

# Upgrade installed packages
sudo apt upgrade -y

# Install a package
sudo apt install package-name

# Remove a package
sudo apt remove package-name

Diagnosticul rețelei

# Check open ports and listening services
ss -tulnp

# Test connectivity to a host
ping google.com

# Trace the network route to a host
traceroute google.com

# Check your server's public IP
curl ifconfig.me

5. Consolidarea configurației SSH

Configurația SSH implicită este funcțională, dar nu este optim securizată. Deoarece SSH este expus pe internet, este o țintă constantă pentru atacuri automate de forță brută. Pașii următori reduc semnificativ suprafața dvs. de atac.

Toate modificările se fac în fișierul de configurare al daemon-ului SSH:

sudo nano /etc/ssh/sshd_config

După efectuarea oricăror modificări, reîncărcați întotdeauna serviciul SSH:

sudo systemctl reload sshd

> ⚠️ Avertisment critic: Înainte de a face modificări la configurația SSH, păstrați întotdeauna o a doua sesiune de terminal deschisă și conectată. Dacă configurați greșit SSH și pierdeți accesul, poate fi necesar să utilizați consola de urgență a furnizorului dvs. de găzduire pentru recuperare.

Pasul 1: Schimbați portul SSH implicit

Portul 22 este portul SSH implicit și este scanat constant de roboți automatizați. Schimbarea acestuia la un port ridicat și non-standard nu va opri un atacator determinat, dar reduce dramatic zgomotul din scanările automate.

În /etc/ssh/sshd_config, găsiți și modificați:

# Before:
#Port 22

# After:
Port 2222

Eliminați # pentru a decomenta linia și setați portul ales (utilizați orice număr între 1024 și 65535 care nu este deja în uz).

Important: Dacă rulați un firewall (și ar trebui să o faceți), permiteți noul port înainte de a reîncărca SSH:

# UFW (Ubuntu/Debian)
sudo ufw allow 2222/tcp
sudo ufw deny 22/tcp

# firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

Pasul 2: Dezactivați autentificarea directă ca root

Autentificarea directă ca root prin SSH este un risc de securitate semnificativ. În schimb, creați un cont de utilizator obișnuit și utilizați sudo pentru sarcini administrative.

În /etc/ssh/sshd_config:

# Before:
PermitRootLogin yes

# After:
PermitRootLogin no

Înainte de a dezactiva autentificarea root, asigurați-vă că ați:

  1. Creat un utilizator non-root: adduser myuser
  2. Acordat privilegii sudo: usermod -aG sudo myuser
  3. Verificat că vă puteți autentifica ca acel utilizator într-o sesiune separată

Pasul 3: Limitați încercările de autentificare

Adăugați aceste directive pentru a reduce eficacitatea atacurilor de forță brută:

# Maximum authentication attempts per connection
MaxAuthTries 3

# Maximum concurrent unauthenticated connections
MaxStartups 10:30:60

# Disconnect idle sessions after 5 minutes
ClientAliveInterval 300
ClientAliveCountMax 2

Pasul 4: Restricționați accesul SSH la utilizatori specifici

Dacă doar anumitor utilizatori le trebuie acces SSH, adăugați-i explicit în lista albă:

AllowUsers myuser deployuser

Pasul 5: Dezactivați autentificarea prin parolă (după configurarea cheilor SSH)

Odată ce autentificarea prin cheie SSH este configurată (consultați secțiunea următoare), dezactivați complet autentificarea bazată pe parolă:

PasswordAuthentication no
ChallengeResponseAuthentication no

Această singură modificare elimină întreaga clasă de atacuri de forță brută asupra parolei.

6. Autentificare cu Cheie SSH: Modul Corect de Conectare

Cheile SSH sunt perechi de chei criptografice — o cheie privată care rămâne pe mașina locală și o cheie publică care se află pe server. Autentificarea funcționează prin a dovedi că dețineți cheia privată fără a o transmite vreodată. Aceasta este mult mai sigură decât parolele.

Pasul 1: Generați o Pereche de Chei SSH

Rulați aceasta pe mașina locală (nu pe server):

ssh-keygen -t ed25519 -C "your_email@example.com"

> De ce Ed25519? Este mai rapid și mai sigur decât algoritmul RSA mai vechi. Dacă sistemul dvs. nu îl suportă, utilizați ssh-keygen -t rsa -b 4096 în schimb.

Vi se va cere:

  • Alegeți o locație de fișier — apăsați Enter pentru a accepta implicita (~/.ssh/id_ed25519)
  • Setați o parolă — foarte recomandat; aceasta criptează cheia privată pentru ca să fie inutilă dacă este furată

Aceasta creează două fișiere:

    ~/.ssh/id_ed25519 — cheia dvs. privată (nu o partajați niciodată)
    ~/.ssh/id_ed25519.pub — cheia dvs. publică (aceasta merge pe server)
    
    Pasul 2: Copiați Cheia Publică pe Server
    Metoda cea mai ușoară:
    ssh-copy-id username@your_server_ip
    Sau manual, dacă ssh-copy-id nu este disponibil:
    # On your local machine, display your public key:
    cat ~/.ssh/id_ed25519.pub
    
    # On the server, add it to the authorized keys file:
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    echo "your_public_key_content" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    Pasul 3: Conectați-vă Folosind Cheia SSH
    # Standard port
    ssh username@your_server_ip
    
    # Custom port
    ssh username@your_server_ip -p 2222
    SSH va folosi automat cheia dvs. Dacă ați setat o parolă, vi se va cere (aceasta este parola locală, nu parola serverului).
    Pasul 4: Simplificați Conexiunile cu un Fișier de Configurare SSH
    Dacă gestionați mai multe servere, creați un fișier de configurare SSH pentru a evita tastarea comenzilor lungi:
    nano ~/.ssh/config
    Adăugați intrări ca aceasta:
    Host myserver
        HostName 203.0.113.45
        User myuser
        Port 2222
        IdentityFile ~/.ssh/id_ed25519
    
    Host staging
        HostName 203.0.113.100
        User deploy
        Port 22
        IdentityFile ~/.ssh/id_ed25519
    Acum vă puteți conecta pur și simplu cu:
    ssh myserver
    7. Transferarea Fișierelor în Siguranță cu SCP și SFTP
    SSH permite două metode sigure de transfer de fișiere: SCP (Secure Copy Protocol) pentru transferuri rapide și SFTP (SSH File Transfer Protocol) pentru sesiuni interactive.
    SCP — Transferuri Rapide de Fișiere
    Copiați un fișier de pe mașina locală pe server:
    scp /path/to/local/file.txt username@your_server_ip:/path/to/remote/directory/
    Copiați un fișier de pe server pe mașina locală:
    scp username@your_server_ip:/path/to/remote/file.txt /path/to/local/directory/
    Copiați un director întreg recursiv:
    scp -r /path/to/local/folder username@your_server_ip:/path/to/remote/
    Folosind un port personalizat:
    scp -P 2222 file.txt username@your_server_ip:/destination/
    > Notă: SCP folosește -P (majusculă) pentru port, spre deosebire de SSH care folosește -p (minusculă).
    SFTP — Gestionarea Interactivă a Fișierelor
    SFTP oferă un shell interactiv pentru navigarea și gestionarea fișierelor la distanță:
    sftp username@your_server_ip
    După conectare, utilizați aceste comenzi:
    # List remote files
    ls
    
    # List local files
    lls
    
    # Change remote directory
    cd /var/www/html
    
    # Change local directory
    lcd ~/Downloads
    
    # Upload a file
    put localfile.txt
    
    # Download a file
    get remotefile.txt
    
    # Exit
    bye
    Pentru un client SFTP grafic, instrumente precum FileZilla sau Cyberduck se conectează prin SFTP și oferă o interfață drag-and-drop — ideal dacă preferați să nu utilizați linia de comandă pentru gestionarea fișierelor.
    8. Sfaturi de depanare SSH
    
    
    
    
    Problemă
    Cauza probabilă
    Soluție
    
    
    
    
    Connection refused
    SSH nu rulează, port greșit sau firewall blochează
    Verificați systemctl status sshd, verificați portul, verificați regulile firewall
    
    
    Connection timed out
    Firewall blochează conexiunea
    Verificați că regulile firewall permit portul SSH
    
    
    Permission denied (publickey)
    Cheie greșită, utilizator greșit sau cheie neautorizată
    Verificați permisiunile ~/.ssh/authorized_keys; verificați că se folosește cheia corectă
    
    
    Host key verification failed
    Amprenta digitală a serverului s-a schimbat
    Eliminați intrarea veche: ssh-keygen -R your_server_ip
    
    
    Too many authentication failures
    SSH a încercat prea multe chei
    Specificați cheia explicit: ssh -i ~/.ssh/id_ed25519 user@host
    
    
    Blocat după schimbarea configurației
    Configurare greșită SSH
    Utilizați consola de urgență/VNC a furnizorului de găzduire pentru a repara sshd_config
    
    
    
    
    Activați modul Verbose pentru depanare
    Când depanați probleme de conexiune, adăugați -v (sau -vvv pentru verbozitate maximă) la comanda SSH:
    ssh -v username@your_server_ip
    Aceasta afișează informații detaliate despre procesul de handshake, ajutând să identificați exact unde eșuează conexiunea.
    9. Concluzie
    SSH este coloana vertebrală a administrării serverelor la distanță. Stăpânirea acestuia — de la conexiuni de bază la autentificarea bazată pe chei și consolidarea configurației — este o abilitate fundamentală pentru oricine gestionează un mediu de găzduire virtuală.
    Pentru a recapitula cele mai bune practici cheie:
    
    ✅ Schimbați portul SSH implicit de la 22 la un port non-standard
    ✅ Dezactivați conectarea root și utilizați un utilizator dedicat non-root cu sudo
    ✅ Utilizați autentificarea cu cheie SSH în loc de parole
    ✅ Dezactivați autentificarea prin parolă după ce cheile sunt configurate
    ✅ Mențineți clientul și serverul SSH actualizate
    ✅ Monitorizați jurnalele de autentificare în mod regulat: tail -f /var/log/auth.log

    Indiferent dacă rulați un VPS cu cPanel sau gestionați un Server Dedicat bare-metal, aceste practici SSH vă vor menține mediul securizat și fluxul de lucru eficient.

    Dacă căutați un mediu de găzduire fiabil în care aveți acces SSH complet și control root, explorați Găzduirea VPS AlexHost — cu planuri concepute pentru dezvoltatori, întreprinderi și orice se află între ele. Și dacă nevoile dvs. de infrastructură se extind la securitate SSL pentru domeniile dvs., nu uitați să verificați Certificatele SSL pentru a menține traficul web criptat de la un capăt la altul.

    *Aveți întrebări despre configurația SSH sau gestionarea serverelor? Echipa de suport AlexHost este disponibilă 24/7 pentru a vă ajuta să profitați la maximum de mediul dvs. de găzduire.*