SSH — osnove
SSH (Secure Shell) je protokol koji omogućava enkriptovanu komunikaciju između dva računara. Umesto da komande šalješ preko nezaštićene veze gde ih svako može presresti i pročitati, SSH sve kriptuje — uključujući lozinke, komande i odgovore.
Svaki Linux sistemski administrator i programer koristi SSH svakodnevno za udaljeni pristup serverima.
Zašto je SSH važan?
Pre SSH-a koristili su se protokoli poput Telneta koji šalju sve podatke u čistom tekstu. Napadač koji presretne mrežni saobraćaj može videti tvoju lozinku. SSH rešava ovaj problem tako što kriptuje ceo razgovor između tvog računara i servera — i lozinku i sve komande i sve odgovore.
SSH server podrazumevano sluša na portu 22.
Osnovna upotreba: ssh user@host
ssh [email protected]
Sistem će pitati za lozinku korisnika student na tom serveru. Nakon unosa, dobijaš interaktivni terminal na udaljenom računaru — sve što kucaš se izvršava tamo, ne na tvom lokalnom računaru.
ssh [email protected] # Konekcija po imenu domena umesto IP-a
ssh student@host 'ls -la /var/log' # Pokreni jednu komandu i izađi
Nestandardni port: -p
Ako server sluša na nestandardnom portu, koristiš opciju -p:
ssh -p 2222 [email protected]
Veliki broj servera namerno koristi port različit od 22 da smanji količinu automatizovanih pokušaja prijave.
Prvi put: provera otiska ključa
Kada se prvi put konektuješ na server, SSH prikazuje otisak (fingerprint) servera i pita za potvrdu:
The authenticity of host '192.168.1.50' can't be established.
ED25519 key fingerprint is SHA256:AbCdEf123...
Are you sure you want to continue connecting (yes/no)?
Ovo je bezbednosna provera — kucaš yes samo ako veruješ da se zaista konektuješ na pravi server. Nakon prvog yes, otisak se pamti u fajlu ~/.ssh/known_hosts i sledeći put ne pita ponovo.
Savet: Ako se otisak iznenada promeni za server na koji se već konektovao, SSH će glasno upozoriti. To može značiti da je server reinstaliran — ali može značiti i da neko presreće tvoju konekciju. Proveri sa administratorom pre nego što nastavis.
Izlazak iz SSH sesije
Kada završiš rad, izađeš sa:
exit
Ili pritiskom Ctrl+D na praznom redu — isti efekat.
Praktičan primer
Tipičan tok rada izgleda ovako:
# 1. Konektuj se
ssh [email protected]
# Sada si na udaljenom serveru:
student@server:~$ ls
student@server:~$ tail /var/log/syslog
student@server:~$ sudo systemctl status nginx
# 2. Kad završiš
student@server:~$ exit
Posle exit si ponovo u svom lokalnom terminalu.
Lozinke su za pocetak — kljucevi su sigurniji
Prijavljivanje lozinkom radi i za pocetak je sasvim u redu. Ali na realnim serverima skoro uvek se koriste SSH ključevi umesto lozinki — sigurniji su, prakticniji za svakodnevni rad i otporni na brute-force napade.
Rezime komandi
| Komanda | Opis |
|---|---|
ssh user@host |
Konektuj se na udaljeni server |
ssh -p PORT user@host |
Konekcija na nestandardni port |
ssh user@host 'komanda' |
Pokreni jednu komandu i izađi |
exit ili Ctrl+D |
Izađi iz SSH sesije |