Što je SSH?
Secure Shell (SSH) je protokol za mrežnu komunikaciju koji omogućuje sigurno izvršavanje naredbi i prijenos podataka između dva računala povezana preko nesigurne mreže. Razvijen kao zamjena za nezaštićene protokole poput Telnet-a, Rlogin-a i FTP-a, SSH pruža snažnu enkripciju podataka, čime štiti integritet i povjerljivost podataka tijekom prijenosa.
Ključne značajke SSH-a:
- Enkripcija: SSH koristi simetričnu enkripciju za zaštitu podataka koji se prenose između klijenta i poslužitelja. To osigurava da su svi preneseni podaci zaštićeni od prisluškivanja i manipulacija.
- Autentifikacija: Protokol podržava više metoda autentifikacije, uključujući autentifikaciju pomoću lozinke, javnih ključeva i višefaktorsku autentifikaciju. To pomaže u osiguravanju da samo ovlašteni korisnici mogu pristupiti sustavu.
- Integritet: SSH koristi kriptografske hash funkcije kako bi osigurao integritet prenesenih podataka, sprječavajući tako mogućnost da napadač izmijeni podatke tijekom prijenosa bez detekcije.
- Tuneliranje i port forwarding: SSH omogućuje tuneliranje drugih protokola, što omogućuje sigurne veze unutar SSH sesije. To je korisno za sigurno povezivanje s bazama podataka, HTTP serverima i drugim uslugama.
Primjena SSH-a
SSH se široko koristi u administraciji sustava za upravljanje serverima i mrežnom hardveru, automatizaciju, siguran prijenos datoteka (preko SCP i SFTP protokola) i mnoge druge zadatke koji zahtijevaju sigurnu komunikaciju.
Uz svoje osnovne funkcionalnosti, SSH pruža temelj za izgradnju složenijih sigurnosnih politika i procedura u organizacijama, čineći ga nezaobilaznim alatom u modernoj IT infrastrukturi.
Upute:
Korak 1: Provjera instalacije SSH-a
Prvo provjerite je li SSH server (openssh-server
) instaliran na oba Kali Linux sustava. To možete učiniti pomoću sljedeće naredbe:
ssh -V
Korak 2: Provjera statusa SSH servisa
Provjerite je li SSH servis aktivan na oba sustava. Koristite naredbu:
sudo systemctl status ssh
Ako servis nije aktivan, pokrenite ga pomoću:
sudo systemctl start ssh
Da biste osigurali da se SSH servis automatski pokreće pri pokretanju sustava, upotrijebite:
sudo systemctl enable ssh
Korak 3: Konfiguracija SSH-a
Konfiguracijska datoteka za SSH nalazi se u /etc/ssh/sshd_config
. Možete urediti ovu datoteku kako biste konfigurirali postavke poput zabrane prijave root korisnika ili promjene porta. Primjerice:
sudo nano /etc/ssh/sshd_config
Opcije koje možete postaviti:
PermitRootLogin no
– sprječava prijavu kao root korisnik.Port 2222
– promijenite port na kojem SSH sluša (standardni je 22).
Nakon izmjena, ponovo pokrenite SSH servis:
sudo systemctl restart ssh
Korak 4: Uzimanje IP adrese
Na oba sustava dobijte IP adresu pomoću naredbe:
ifconfig
Zabilježite IP adrese oba sustava kako biste mogli uspostaviti vezu.
Korak 5: Povezivanje s drugim Kali Linux sustavom
S jednog Kali Linux sustava, povežite se na drugi pomoću naredbe:
ssh korisnicko_ime@IP_adresa
Zamijenite korisnicko_ime
s korisničkim imenom na ciljnom sustavu i IP_adresa
s IP adresom ciljnog sustava.
Korak 6: Testiranje funkcionalnosti
Nakon što se uspješno povežete, testirajte funkcionalnost izvršavajući nekoliko naredbi, kao što su:
- Pregledanje sadržaja direktorija:
ls -l
- Provjera trenutne lokacije:
pwd
- Prikaz aktivnih procesa:
ps aux
Korak 7: Prekid veze
Za izlazak iz SSH sesije upotrijebite naredbu:
exit
Ovime se veza prekida, a kontrola se vraća lokalnom terminalu.
Korak 8: Dodatne sigurnosne mjere
Razmotrite postavljanje firewall pravila i konfiguriranje fail2ban
za dodatnu sigurnost.
Korak 9: Automatizacija prijave pomoću SSH ključeva
Za izbjegavanje stalnog unosanja lozinke, konfigurirajte SSH ključeve:
Generiranje ključeva:
ssh-keygen
Kopiranje javnog ključa na drugi sustav:
ssh-copy-id korisnicko_ime@IP_adresa
Nakon ovog, povezivanje bi trebalo biti moguće bez potrebe za unosom lozinke.
Ovom detaljnom uputom osigurali ste ne samo osnovno povezivanje između dva Kali Linux sustava putem SSH-a, već i razumijevanje konfiguracije i sigurnosnih praksi koje pridonose boljoj zaštiti vašeg sustava.