15%

Economisește 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
29.10.2024

Cum să Instalezi și să Configurezi SSH pe Linux: Un Ghid Complet de Securitate pentru 2025

SSH este cel mai critic punct de acces de pe serverul dvs. O configurație SSH incorectă poate fi compromisă în mai puțin de cinci minute de boți automatizați care scanează internetul. Indiferent dacă gestionați un mediu de VPS Hosting, o mașină bare-metal sau o instanță cloud, securizarea corectă a SSH încă din prima zi este obligatorie.

În acest ghid, veți învăța cum să instalați OpenSSH, să îl configurați în siguranță, să implementați autentificarea bazată pe chei și să aplicați tehnici de întărire la nivel de producție — toate pe un server Linux în 2025.

Ce Este SSH și De Ce Contează?

SSH (Secure Shell) este un protocol de rețea criptografic care permite utilizatorilor să se conecteze în siguranță la un sistem de la distanță printr-o rețea nesecurizată, cum ar fi internetul. Toate datele transmise între client și server sunt complet criptate, făcându-l standardul din industrie pentru administrarea de la distanță a serverelor.

În mod implicit, SSH funcționează pe portul 22 și suportă:

  • Autentificare de la distanță pe servere și mașini virtuale
  • Transfer securizat de fișiere prin SCP și SFTP
  • Executarea comenzilor de la distanță și automatizare prin scripturi
  • Redirecționarea porturilor și tunelizare pentru rutarea securizată a traficului
  • Redirecționarea X11 pentru accesul la aplicații grafice

SSH este interfața dvs. administrativă principală. Tratați-o ca atare.

Pasul 1: Instalarea Serverului OpenSSH

Majoritatea distribuțiilor Linux moderne vin cu OpenSSH preinstalat. Dacă lipsește, instalați-l folosind managerul de pachete corespunzător distribuției dvs.

Ubuntu / Debian

sudo apt update
sudo apt install openssh-server -y

CentOS / RHEL / AlmaLinux / Rocky Linux

sudo yum install openssh-server -y

Fedora

sudo dnf install openssh-server -y

Arch Linux

sudo pacman -S openssh

După instalare, atât serverul OpenSSH (sshd) cât și clientul OpenSSH sunt disponibile, permițându-vă să acceptați conexiuni primite și să vă conectați la alte servere de la distanță.

Pasul 2: Pornirea și Activarea Serviciului SSH

Odată instalat, trebuie să porniți daemonul SSH (sshd) și să îl configurați să se lanseze automat la pornirea sistemului.

Porniți Serviciul SSH

sudo systemctl start ssh

Activați SSH să Pornească la Boot

sudo systemctl enable ssh

Verificați că Serviciul Rulează

sudo systemctl status ssh

O ieșire corectă va afișa active (running) în verde. Dacă vedeți erori, verificați jurnalele sistemului cu journalctl -xe pentru detalii de diagnosticare.

Pasul 3: Înțelegerea Fișierului de Configurare SSH

Comportamentul SSH este guvernat de un singur fișier de configurare principal:

/etc/ssh/sshd_config

Acest fișier controlează totul — portul de ascultare, metodele de autentificare, utilizatorii permisi, restricțiile de autentificare și altele. Creați întotdeauna o copie de rezervă înainte de a face modificări:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Deschideți fișierul cu editorul de text preferat:

sudo nano /etc/ssh/sshd_config

După orice modificări, validați întotdeauna sintaxa configurației înainte de a reporni serviciul pentru a evita blocarea accesului:

sudo sshd -t

Dacă nu sunt returnate erori, aplicați modificările:

sudo systemctl restart ssh

Pasul 4: Modificări Esențiale ale Configurației SSH

4.1 Schimbați Portul SSH Implicit

Portul 22 este primul port vizat de scanerele automate și boții de forță brută. Schimbarea acestuia la un port non-standard reduce dramatic zgomotul din jurnalele dvs. și scade expunerea la atacuri oportuniste.

Localizați această linie în sshd_config:

#Port 22

Decomentați-o și setați un port personalizat (alegeți un număr între 1024 și 65535 care nu este deja în uz):

Port 2222

Salvați fișierul, validați și reporniți SSH:

sudo sshd -t && sudo systemctl restart ssh

> Important: Actualizați regulile firewall-ului imediat după schimbarea portului (vezi Pasul 6). Nerespectarea acestui lucru vă va bloca accesul la server.

4.2 Dezactivați Autentificarea Root prin SSH

Permiterea autentificării directe ca root prin SSH este una dintre cele mai comune și periculoase configurații greșite. Dacă un atacator ghicește sau forțează parola root, acesta are control complet și nerestricționat asupra sistemului dvs.

Găsiți această directivă:

PermitRootLogin yes

Schimbați-o în:

PermitRootLogin no

Utilizatorii ar trebui să se autentifice cu un cont standard și să escaladeze privilegiile folosind sudo când este necesar. Aceasta creează un nivel esențial de audit — fiecare acțiune privilegiată este înregistrată în raport cu un cont de utilizator nominalizat.

4.3 Impuneți Autentificarea Bazată pe Chei și Dezactivați Parolele

Autentificarea bazată pe parolă este în mod inerent vulnerabilă la atacuri de forță brută. Perechile de chei SSH — o combinație de chei publice/private legate matematic — sunt exponențial mai sigure.

Localizați și setați următoarele directive:

PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no

> Avertisment: Dezactivați autentificarea prin parolă numai după ce ați testat cu succes autentificarea bazată pe chei. Dezactivarea parolelor fără o cheie funcțională vă va bloca accesul permanent.

4.4 Directive Suplimentare de Întărire

Adăugați sau modificați aceste setări în sshd_config pentru o configurație de producție întărită:

# Restrict login to specific users (replace 'youruser' with actual usernames)
AllowUsers youruser

# Disconnect idle sessions after 5 minutes
ClientAliveInterval 300
ClientAliveCountMax 2

# Limit authentication attempts per connection
MaxAuthTries 3

# Disable empty passwords
PermitEmptyPasswords no

# Disable X11 forwarding if not needed
X11Forwarding no

# Use only modern, secure protocol version
Protocol 2

# Restrict SSH to specific network interface (optional, replace with your IP)
ListenAddress 0.0.0.0

Pasul 5: Generarea și Implementarea Perechilor de Chei SSH

Autentificarea prin chei SSH înlocuiește parolele cu dovezi criptografice de identitate. Iată cum să o configurați corect.

Pasul 5.1: Generați o Pereche de Chei pe Mașina Locală

Rulați această comandă pe stația de lucru locală (nu pe server):

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

> De ce Ed25519? Ed25519 este un algoritm modern pe curbe eliptice care este mai rapid, mai sigur și produce chei mai scurte decât algoritmul RSA mai vechi. Este alegerea recomandată în 2025.

Dacă sistemul sau instrumentele dvs. necesită RSA din motive de compatibilitate, utilizați o cheie de 4096 de biți:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Vi se va solicita să:

  1. Alegeți o cale de fișier (apăsați Enter pentru a accepta valoarea implicită ~/.ssh/id_ed25519)
  2. Setați o frază de acces opțională (puternic recomandată — aceasta criptează cheia privată în repaus)

Aceasta generează două fișiere:

    ~/.ssh/id_ed25519 — Cheia dvs. privată. Nu o partajați niciodată. Nu o copiați niciodată pe un server.
    ~/.ssh/id_ed25519.pub — Cheia dvs. publică. Aceasta este cea care se instalează pe servere.
    
    Pasul 5.2: Copiați Cheia Publică pe Server
    Utilizați ssh-copy-id pentru a transfera în siguranță cheia publică pe serverul de la distanță:
    ssh-copy-id -p 2222 username@your_server_ip
    Înlocuiți username cu numele contului de server și your_server_ip cu adresa IP reală.
    Această comandă adaugă cheia publică la ~/.ssh/authorized_keys pe server cu permisiunile corecte în mod automat.
    Metodă manuală (dacă ssh-copy-id nu este disponibil):
    cat ~/.ssh/id_ed25519.pub | ssh username@your_server_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
    Pasul 5.3: Testați Autentificarea Bazată pe Chei
    Înainte de a dezactiva autentificarea prin parolă, verificați că autentificarea bazată pe chei funcționează:
    ssh -p 2222 username@your_server_ip
    Dacă vă conectați cu succes fără a fi solicitat o parolă (sau doar pentru fraza de acces a cheii), autentificarea bazată pe chei funcționează corect. Acum puteți dezactiva în siguranță autentificarea prin parolă în sshd_config.
    Pasul 6: Configurarea Firewall-ului pentru SSH
    Un firewall este prima linie de apărare. Configurați-l întotdeauna să permită doar portul SSH pe care îl utilizați.
    Utilizând UFW (Ubuntu / Debian)
    # Allow your custom SSH port
    sudo ufw allow 2222/tcp
    
    # Enable the firewall
    sudo ufw enable
    
    # Verify the rules
    sudo ufw status verbose
    Utilizând firewalld (CentOS / RHEL / Fedora)
    # Add the custom SSH port
    sudo firewall-cmd --permanent --add-port=2222/tcp
    
    # Remove the default port 22 (optional, after confirming new port works)
    sudo firewall-cmd --permanent --remove-service=ssh
    
    # Reload firewall rules
    sudo firewall-cmd --reload
    Restricționați Accesul SSH după Adresa IP
    Pentru securitate maximă, limitați accesul SSH doar la adrese IP cunoscute și de încredere:
    # UFW example: allow SSH only from a specific IP
    sudo ufw allow from 203.0.113.10 to any port 2222 proto tcp
    Aceasta este deosebit de eficientă pe Servere Dedicate unde controlați tot accesul administrativ dintr-un birou fix sau un interval de IP-uri VPN.
    Pasul 7: Măsuri Avansate de Securitate
    7.1 Instalați și Configurați Fail2Ban
    Fail2Ban monitorizează fișierele de jurnal SSH și blochează automat adresele IP care prezintă semne de activitate de forță brută.
    # Install Fail2Ban
    sudo apt install fail2ban -y   # Ubuntu/Debian
    sudo yum install fail2ban -y   # CentOS/RHEL
    
    # Create a local configuration file
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    Editați /etc/fail2ban/jail.local și configurați jail-ul SSH:
    [sshd]
    enabled = true
    port    = 2222
    filter  = sshd
    logpath = /var/log/auth.log
    maxretry = 3
    bantime  = 3600
    findtime = 600
    Porniți și activați Fail2Ban:
    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    7.2 Utilizați Fișierul de Configurare SSH pentru Gestionarea pe Partea Clientului
    Pe mașina locală, creați sau editați ~/.ssh/config pentru a simplifica conexiunile și a impune setările de securitate:
    Host myserver
        HostName your_server_ip
        User youruser
        Port 2222
        IdentityFile ~/.ssh/id_ed25519
        ServerAliveInterval 60
        ServerAliveCountMax 3
    Cu această configurație, vă puteți conecta pur și simplu tastând:
    ssh myserver
    7.3 Autentificarea cu Doi Factori (2FA) pentru SSH
    Pentru mediile care necesită cel mai înalt nivel de securitate a accesului — cum ar fi bazele de date de producție, sistemele financiare sau infrastructura reglementată prin conformitate — luați în considerare adăugarea autentificării cu doi factori bazate pe TOTP folosind Google Authenticator sau Authy alături de cheile SSH.
    sudo apt install libpam-google-authenticator -y
    google-authenticator
    Apoi configurați PAM și sshd_config pentru a solicita atât o cheie, cât și o parolă de unică folosință. Aceasta creează un flux de autentificare cu mai mulți factori adevărat.
    Pasul 8: Testarea și Depanarea SSH
    După finalizarea configurației, verificați sistematic că totul funcționează conform așteptărilor.
    Test de Conexiune
    ssh -p 2222 -v username@your_server_ip
    Indicatorul -v activează modul verbose, afișând informații detaliate de depanare despre fiecare etapă a conexiunii — de neprețuit pentru diagnosticarea eșecurilor de autentificare.
    Probleme Comune și Soluții
    
    
    
    
    Problemă
    Cauză Probabilă
    Soluție
    
    
    
    
    Connection refused
    SSH nu rulează sau port greșit
    Verificați systemctl status ssh și regulile firewall-ului
    
    
    Permission denied (publickey)
    Cheia nu se află în authorized_keys sau permisiuni greșite
    Verificați că ~/.ssh/authorized_keys există cu chmod 600
    
    
    Host key verification failed
    Amprenta serverului s-a schimbat
    Eliminați intrarea veche din ~/.ssh/known_hosts
    
    
    Connection timed out
    Firewall-ul blochează portul
    Verificați regulile UFW/firewalld și grupurile de securitate cloud
    
    
    Blocat după modificarea configurației
    Configurație greșită în sshd_config
    Utilizați accesul consolă/KVM pentru a reveni la modificări
    
    
    
    
    Comenzi de Diagnosticare
    # Check SSH service status
    sudo systemctl status ssh
    
    # View real-time SSH logs
    sudo journalctl -u ssh -f
    
    # Check which port SSH is listening on
    sudo ss -tlnp | grep sshd
    
    # Test configuration file syntax
    sudo sshd -t
    Referință Completă sshd_config Întărit
    Iată un sshd_config pregătit pentru producție care încorporează toate recomandările de securitate din acest ghid:
    # Network
    Port 2222
    ListenAddress 0.0.0.0
    Protocol 2
    
    # Authentication
    PermitRootLogin no
    PubkeyAuthentication yes
    PasswordAuthentication no
    PermitEmptyPasswords no
    ChallengeResponseAuthentication no
    MaxAuthTries 3
    LoginGraceTime 30
    
    # Session Management
    ClientAliveInterval 300
    ClientAliveCountMax 2
    MaxSessions 5
    
    # Access Control
    AllowUsers youruser
    
    # Features (disable what you don't need)
    X11Forwarding no
    AllowTcpForwarding no
    GatewayPorts no
    PermitUserEnvironment no
    
    # Logging
    SyslogFacility AUTH
    LogLevel VERBOSE
    De Ce Contează Infrastructura de Hosting pentru Securitatea SSH
    Securitatea configurației SSH nu există în izolare — depinde în mare măsură de infrastructura de bază. O configurație SSH corect întărită este cea mai eficientă atunci când este implementată pe un server care oferă deja:
    
    Protecție DDoS pentru a absorbi atacurile volumetrice înainte de a ajunge la portul SSH
    Stocare NVMe pentru scrieri rapide în jurnal și timpi de răspuns rapizi Fail2Ban
    Porturi de rețea de 1 Gbps pentru a asigura stabilitatea conexiunii sub sarcină
    Acces KVM/consolă ca metodă de recuperare out-of-band dacă vă blocați accidental
    
    Planurile de VPS Hosting AlexHost includ toate cele de mai sus, cu acces root complet și suport pentru configurații personalizate de firewall — făcându-le ideale pentru implementarea configurației SSH întărite descrise în acest ghid.
    Dacă aveți nevoie de un panou de control pentru a gestiona serverul alături de SSH, explorați Panouri de Control VPS pentru opțiuni incluzând cPanel, Plesk și DirectAdmin. Pentru echipele care gestionează mai multe proprietăți web, Găzduire Web Partajată oferă un mediu gestionat unde întărirea SSH este gestionată la nivel de infrastructură.
    Și dacă rulați servicii web securizate SSL alături de serverul dvs. întărit SSH, asocierea configurației cu o soluție de încredere de Certificate SSL asigură criptarea end-to-end pentru toate serviciile dvs. publice.
    Listă de Verificare a Securității SSH
    Utilizați această listă de verificare înainte de a considera configurația SSH pregătită pentru producție:
    
    [ ] Serverul OpenSSH instalat și în funcțiune
    [ ] Portul implicit 22 schimbat la un port personalizat
    [ ] Autentificarea root dezactivată (PermitRootLogin no)
    [ ] Pereche de chei Ed25519 sau RSA-4096 generată
    [ ] Cheia publică implementată în authorized_keys pe server
    [ ] Autentificarea bazată pe chei testată cu succes
    [ ] Autentificarea prin parolă dezactivată
    [ ] Firewall-ul configurat să permită doar noul port SSH
    [ ] Fail2Ban instalat și configurat
    [ ] MaxAuthTries setat la 3 sau mai puțin
    [ ] ClientAliveInterval configurat pentru a termina sesiunile inactive
    [ ] Sintaxa sshd_config validată cu sudo sshd -t
  • [ ] Acces consolă out-of-band confirmat (KVM/VNC)

Concluzie

Instalarea și configurarea corectă a SSH este una dintre cele mai fundamentale abilități în administrarea sistemelor Linux. O instalare SSH implicită este o vulnerabilitate; o configurație SSH întărită este un avantaj. Urmând acest ghid, ați:

  1. Instalat și pornit serverul OpenSSH
  2. Schimbat portul implicit și dezactivat autentificarea root
  3. Implementat autentificarea bazată pe chei criptografic puternică
  4. Configurat regulile firewall-ului pentru a restricționa accesul
  5. Implementat Fail2Ban pentru a bloca tentativele de forță brută
  6. Stabilit o metodologie completă de depanare

SSH, când este configurat corect, devine o poartă de acces puternică, fiabilă și sigură pentru gestionarea de la distanță, pipeline-uri de automatizare și comunicare criptată între sisteme. Combinat cu o infrastructură de hosting robustă — cum ar fi Serverele Dedicate AlexHost cu atenuare DDoS la nivel hardware — aveți o fundație care este cu adevărat dificil de compromis.

Revizuiți periodic configurația SSH. Rotiți cheile anual. Monitorizați jurnalele. Securitatea nu este o sarcină unică — este o practică continuă.

15%

Economisește 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