SSH (Secure Shell) este unealta vitală pentru controlul remot al sistemelor Linux. În acest ghid esențial, vei învăța să te conectezi, să gestionezi și să securizezi accesul la servere folosind tehnici profesioniste.
1. Bazele Conectării SSH
Sintaxă fundamentală:
ssh utilizator@adresa_ip
-
utilizator: Contul de pe server (ex:
root
,admin
) -
adresa_ip: Adresa IP publică sau domeniul serverului
Prima conexiune:
ssh root@203.0.113.25
Se va salva amprenta serverului în ~/.ssh/known_hosts
2. Autentificare cu Chei SSH (Recomandată)
Generare chei pe client:
ssh-keygen -t ed25519 -C "server_prod" # -t = tip cheie, -C = comentariu
Rezultat: id_ed25519
(cheia privată) și id_ed25519.pub
(cheia publică)
Copiere cheie pe server:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@ip_server
Conectare fără parolă:
ssh -i ~/.ssh/id_ed25519 user@ip_server
3. Opțiuni Avansate de Conexiune
Port personalizat (non-22):
ssh -p 4567 user@ip_server
Executare comandă rapidă fără login:
ssh user@ip_server "ls -l /var/www && systemctl status nginx"
Tunel SSH pentru transfer securizat:
ssh -L 8080:localhost:80 user@ip_server # Redirectează portul 80 server → 8080 local
4. Gestionare Configurații Client
Fișier de configurare SSH: ~/.ssh/config
Host myserver HostName 203.0.113.25 User admin Port 2222 IdentityFile ~/.ssh/server_key
Conectare simplificată:
ssh myserver # Folosește automat setările din config
5. Securizare Avansată
Dezactivare autentificare parolă:
Pe server, editează /etc/ssh/sshd_config
:
PasswordAuthentication no PermitEmptyPasswords no
Repornire serviciu:
sudo systemctl restart sshd
Limită acces pe IP:
AllowUsers admin@192.168.1.* admin@203.0.113.*
6. Depanare Conexiuni
Verifică port deschis:
nc -zv 203.0.113.25 22 # -z = scan, -v = verbose
Resetează amprente server:
ssh-keygen -R 203.0.113.25 # Șterge cheia din known_hosts
Loguri detaliate:
ssh -vvv user@ip_server # -vvv = debug nivel maxim
7. Ieșire din Sesiuene
Deconectare rapidă:
exit # Sau Ctrl + D
Deconectare forțată (dacă răspunde):
~. # Tastări: Enter + ~ + .
Tabel: Comenzi SSH Esențiale
Comandă | Utilizare |
---|---|
scp file.txt user@ip:/path |
Copiere fișiere |
ssh-keygen -f keyname |
Cheie cu nume personalizat |
ssh -J jump_user@jump_ip user@target_ip |
Conexiune prin jump server (bastion) |
sftp user@ip |
Transfer fișiere interactiv |
Best Practices Securitate
-
Folosește chei ED25519 (nu RSA)
-
Schimbă cheile la 90 de zile
-
Dezactivează root login
-
Monitorizează loguri cu
grep 'ssh' /var/log/auth.log
De ce SSH > Alte Protocoale?
Statistici incontestabile:
98% din atacurile brute-force eșuează cu autentificare pe chei
Traficul criptat cu AES-256 este practic dezlănuit
Reducere 92% a riscului de MITM (Man-in-the-Middle)
Avertizare critică:
Niciodată nu folosi SSH parolat pe servere expuse internetului!