Primarni način povezivanja s Linux poslužiteljem je putem SSH protokol. Ova vrsta veze je sigurna jer su svi podaci koji se njome prenose šifrirani. Redom do uspostaviti SSH vezu trebali biste ga konfigurirati na udaljenom poslužitelju na koji se želite spojiti, a klijent na strani korisnika. Postoji gomila softvera za SSH vezu. Što se tiče Linuxa, OpenSSH paket je najpopularniji, a za Windows ljudi uglavnom koriste PuTTY.
Pogledajmo pobliže konfiguraciju poslužitelja koristeći Ubuntu Server 18.04 kao primjer, a zatim se pokušajte spojiti na poslužitelj iz Linuxa i Windowsa.
Sve što radimo bit će s računa običnog korisnika. U ovom slučaju, stvorili smo korisnika "Michael"I"korijen” Račun je prema zadanim postavkama onemogućen.
Postavljanje na strani poslužitelja
Postavite paket da izvodi ovu naredbu:
sudo apt install openssh-server
Nakon završetka instalacije provjerite radi li usluga. Koristite ovu naredbu:
systemctl status sshd
Status “Aktivno (u tijeku)” znači da je usluga omogućena i radi normalno.
Kako biste izbjegli blokiranje dolaznih veza od strane vatrozida, svakako ga onemogućite jer u ovom članku nećemo konfigurirati mrežni vatrozid.
Koristite ovu naredbu:
sudo ufw disable
U ovoj fazi već se možete spojiti na poslužitelj. Uz zadane postavke poslužitelj omogućuje povezivanje na standardni port 22 s autentifikacijom temeljenom na lozinci.
SSH veza iz Linuxa
U pravilu je OpenSSH klijent instaliran na Linuxu prema zadanim postavkama i ne zahtijeva dodatnu ručnu konfiguraciju. Veza se može uspostaviti s terminala uz pomoć ssh naredbe. Parametri bi u ovom slučaju bili korisničko ime i IP adresa udaljenog poslužitelja. Na našem testnom poslužitelju koji koristimo kao primjer postoji samo jedan račun “mihail”, pa ćemo ga koristiti.
ssh [email protected]
Prilikom prve veze morat ćete potvrditi dodavanje javnog ključa poslužitelja u bazu podataka, stoga odgovorite “Da". Nakon toga možete unijeti lozinku. Ako je veza uspješno uspostavljena, vidjet ćete tekst dobrodošlice naredbenog retka poslužitelja. Sada će se sve naredbe izvršiti izravno na udaljenom poslužitelju.
SSH iz sustava Windows
Otvorite Putty i postavite parametre veze. Provjerite je li prekidač "Vrsta veze” se okreće SSH. Unesite IP adresu u “Host Name”, zadana vrijednost 22 u "luka"I kliknite"Otvoren".
Pri prvom spajanju kit tražit će od vas da potvrdite da vjerujete ovom poslužitelju, pa kliknite "Da"
Nakon što unesete prijavu i lozinku, vidjet ćete naredbeni redak udaljenog poslužitelja.
Autentifikacija ključem. Povećanje razine sigurnosti
Kada klijent pokušava uspostaviti sigurnu vezu s poslužiteljem putem SSH-a, prije dopuštanja veze poslužitelj zahtijeva autentifikaciju (verifikaciju) klijenta. Kao što je prije spomenuto, provjera autentičnosti na temelju lozinke obično se koristi prema zadanim postavkama. Ne pruža snažnu sigurnost, jer uvijek postoji način da se bruteforce. Osim toga, provjera autentičnosti lozinke nije primjenjiva na SSH veze uz korištenje skripti.
Za ovu vrstu zadataka postoji posebna metoda provjere autentičnosti ključem. Poanta je da klijent generira privatne i javne ključeve, a zatim se javni ključ šalje poslužitelju. Nakon toga ne trebate lozinku za spajanje na poslužitelj, jer se autentifikacija provodi na temelju javnih i privatnih ključeva klijenta. Kako bi se osigurala dobra razina sigurnosti, pristup privatnom ključu treba biti ograničen. Zbog činjenice da je privatni ključ pohranjen na strani klijenta i ne prenosi se kroz mrežu, vjeruje se da je ova metoda sigurnija.
Autentifikacija putem ključa na Linuxu
Generirajmo javne i privatne ključeve na klijentu uz pomoć pomoćnog softvera ssh-keygen. Alat će predložiti promjenu putanje do privatnog ključa i unijeti šifru za dodatnu sigurnost. Ostavite sve parametre prema zadanim postavkama pritiskom na Enter na svim zahtjevima.
Kao rezultat toga, u početnom direktoriju u mapi .ssh pronaći ćete dvije generirane datoteke: id_rsa i id_rsa.pub koji sadrže privatne i javne ključeve.
Nakon toga morat ćete poslati javni ključ poslužitelju. Da biste to učinili, kopirajte sadržaj "id_rsa.pub" datoteka u "~/.ssh/ovlašteni_ključevi" na poslužitelju. Idemo najlakšim putem uz pomoć "ssh-kopija-id" Alat. Unesite prijavu i IP adresu poslužitelja, kao u slučaju obične veze. Nakon što unesete lozinku, javni ključ klijenta automatski će se kopirati na poslužitelj. Pokrenite ovu naredbu:
ssh-copy-id [email protected]
Nakon što sve to učinite, poslužitelj više neće zahtijevati unos lozinke.
Autentifikacija putem ključa u sustavu Windows
Otvoren PUTTYGEN i kliknite "Generirati“. Kako biste generirali ključeve, samo trebate prijeći mišem preko ekrana i alat će nasumično generirati ključeve.
Nakon što su ključevi generirani, kliknite "Spremi privatni ključ” i spremite ga u datoteku s privatnim ključem na vašem disku. Možete postaviti bilo koju putanju, ali malo kasnije ćete je morati navesti u Putty-u. Zatim kopirajte javni ključ s vrha prozora.
Pošaljimo javni ključ jednostavnim kopiranjem na terminal. Otvoriti kit i spojite se na poslužitelj kao i obično. Kreirajmo sada “.ssh/autorized_keys” i ograničiti drugim korisnicima pristup datoteci, tako da je dostupna samo kreatoru.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Nakon što kreirate datoteku, stavite klijentov javni ključ u nju. U prethodnoj fazi kopirali smo javni ključ u međuspremnik. Za snimanje onoga što je u međuspremniku u datoteku koristite naredbu cat i preusmjeravanje izlaza.
cat > .ssh/authorized_keys
Nakon što unesete naredbu, kliknite desnom tipkom miša u prozor terminala i zalijepite ono što je u međuspremnik. Za potvrdu unosa pritisnite “Ctrl + D” prečac i odspojite se s poslužitelja.
Sada odredimo put do privatnog ključa u Putty i ponovno se spojimo na poslužitelj.
Od sada, za spajanje na poslužitelj potrebno je samo unijeti korisničko ime. Ako se pokušavate spojiti na poslužitelj s drugog uređaja koji nema pravi privatni ključ, poslužitelj će zatražiti lozinku. Nakon postavljanja provjere autentičnosti temeljene na ključu, možete onemogućiti pristup lozinkom.