SSH - Secure Shell
SSH Server pod Debianom 10
SSH što je skraćenica za Secure Shell, je mrežni protokol za povezivanje za udaljenim mašinama unutar lokalne mreže ili preko interneta.
SSH arhitektura predviđa Server koji koriste klijenti da bi se konektovali na udaljenu mašinu.
Da bi se ova povezivanja uspešno ostvarivala potrebno je konfigurisati i SSH Server ali i klijente.
U prvom delu posvetićemo pažnju postavljanju SSH Servera pod Debianom 10.
Instaliranje OpenSSH Servera
Konfigurisanje OpenSSH servera
Onemogućivanje Root Login-a
-
Da bi proverili da li user ima sudo prava korišćenja koristimo sledeću komandu sudo -l:
1sudo -l
-
Po default-u trebalo bi da ssh utility bude instaliran na Debian-u 10, ali ipak proverimo:
1ssh -V
Ovo ne znači da je SSH server instaliran, već da smo u mogućnosti da se konektujemo na udaljenu mašinu kao klijent koristeći SSH protokol (tu je uključena scp konekcija kao i sftp)
Instaliranje OpenSSH Servera na Debian 10
-
Prvo ažuriramo sistem a zatim instaliramo openssh-server:
1sudo apt-get update 2sudo apt-get install openssh-server
-
Proverimo novoinstalirani servis:
1sudo systemctl status sshd
-
Po default-u SSH server radi na portu 22, a da bi to proverili kucamo:
1netstat -tulpn | grep 22
-
Uobičajeni Firewall u Debianu i njegovim derivatima je ufw:
Ako ga koristimo, potrebno je da SSH saobraćaj uključimo u podešavanja Firewall-a:1sudo ufw allow ssh
-
Proverimo da li je uključivanje SSH servera omogućeno pri butovanju:
1sudo systemctl list-unit-files | grep enabled | grep ssh
Ako je odgovor ne, startujemo sledeću komandu i proverimo ponovo:
1sudo systemctl enable ssh
Konfigurisanje SSH servera u Debian-u
Pre nego što dozvolimo pristup klijentima kroz naš SSH sistem, potrebno je da imamo set sigurnosnih podešavanja da bi izbegli napade hakera.
Napadi hakera su prilično uobičajeni, ali se mogu izbeći promenom default-nih podešavanja.
SSH konfiguracioni fajl je smešten u /etc/ssh/:
1cd /etc/ssh/
2ls -la
-
ssh_config definiše SSH pravila za klijente. To znači da se ova pravila primenjuju svaki put kada se uspostavlja SSH konekcija ka udaljenoj mašini (remote hosts) ili kada dolazi do transfera fajlova između mašina (between hosts)
-
sshd_config Definiše SSH pravila za SSH server. To znači na primer definisanje dostupnog SSH porta ili uskraćivanje određenim korisnicima komunikacije sa serverom
-
Ovde ćemo da izmenimo deo serverskih podešavanja u cilju povećanja bezbednosti našeg SSH servera.
Editujemo konfiguracioni fajl sshd_config, pronađimo liniju gde je #Port 22 i izmenimo 22 u na primer 2222:1sudo nano /etc/ssh/sshd_config
Onemogućivanje Root Login-a na SSH server
Po default-u root login je omogućen na SSH serveru.
Očigledna je moguća katastrofa ako se hakeri uloguju kao root na SSH server.
Ako je priliom instalacije Debiana 10 isključen root nalog (prvi user ima root ovlašćenja), i dalje se može konfigurisati SSH server da ne dozvoljava root login, u slučaju da nekad odlučimo da vratimo root login.
Za sprečavanje root login-a samo treba promeniti liniju:
#PermitRootLogin prohibit-password --> PermitRootLogin no
-
Restartujmo SSH server da bi ažurirali izmene i proverimo status:
1sudo systemctl restart sshd 2sudo systemctl status sshd
-
Takođe , ako smo promenili default port (sa 22 na 2222), proverimo još jednom:
1netstat -tulpn | grep 2222
Konektujemo se na svoj SSH server:
-
Da bi se konektovali na svoj SSH server koristi se sledeća sintaksa:
1ssh -p <port> <username>@<ip_address>
-
Ako se konektujemo preko LAN mreže, moramo da budemo sigurni u lokalnu IP adresu:
1sudo ifconfig
-
Dakle konektujemo se na svoj SSH server (localhost):
1ssh -p 2222 peja@127.0.0.1
-
Diskonektujemo se sa svog SSH servera sa CTRL+D ili logout:
-
Server je i dalje aktivan:
-
Ako želimo da ga deaktiviramo:
1sudo systemctl stop sshd 2sudo systemctl status sshd
-
Nakon ovoga SSH Server više neće biti dostupan: