Tehnologija SSH (Secure Shell) omogućuje sigurno daljinsko upravljanje računalom putem sigurne veze. SSH šifrira sve prenesene datoteke, uključujući lozinke, i također prenosi bilo koji mrežni protokol. Da bi alat ispravno radio, potrebno ga je ne samo instalirati, nego i konfigurirati. Željeli bismo razgovarati o proizvodu glavne konfiguracije u ovom članku, uzimajući kao primjer najnoviju verziju operacijskog sustava Ubuntu na kojem će se poslužitelj nalaziti.
Sadržaj
Ako niste dovršili instalaciju na poslužitelju i klijentskim računalima, trebali biste to učiniti u početku, jer je cijeli postupak vrlo jednostavan i ne traje puno vremena. Za detaljne upute o ovoj temi pogledajte naš drugi članak na sljedećem linku. Također prikazuje postupak uređivanja konfiguracijske datoteke i testiranje SSH-a, tako da ćemo se danas osvrnuti na druge zadatke.
Više detalja: Instaliranje SSH-poslužitelja u Ubuntu
Novo instalirani SSH nema navedene ključeve za povezivanje s poslužitelja na klijenta i obrnuto. Svi ovi parametri moraju se ručno postaviti odmah nakon dodavanja svih komponenti protokola. Ključni par radi pomoću RSA algoritma (skraćeno od imena programera Rivesta, Shamira i Adlemana). Zahvaljujući ovom kriptosustavu, specijalni ključevi se šifriraju pomoću posebnih algoritama. Da biste stvorili par javnih ključeva, potrebno je samo unijeti odgovarajuće naredbe u konzolu i slijediti upute koje se pojavljuju.
ssh-keygen
, a zatim pritisnite tipku Enter . Sada je stvoren par ključeva - tajnih i javnih, koji će se koristiti za daljnju vezu između računala. Samo trebate staviti ključ na poslužitelj kako bi SSH autentifikacija bila uspješna.
Postoje tri načina za kopiranje ključeva. Svaki od njih će biti optimalan u različitim situacijama gdje, na primjer, jedna od metoda ne radi ili nije prikladna za određenog korisnika. Predlažemo da razmotrimo sve tri opcije, počevši od najjednostavnijih i najdjelotvornijih.
Opcija 1: ssh-copy-id naredba
Naredba ssh-copy-id
ugrađena je u operacijski sustav, tako da za pokretanje nije potrebno instalirati dodatne komponente. Slijedite jednostavnu sintaksu za kopiranje ključa. U "Terminalu" morate unijeti ssh-copy-id username@remote_host
, gdje je username @ remote_host naziv udaljenog računala.
Prilikom prvog povezivanja dobit ćete tekst obavijesti:
The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
Morate navesti da da biste nastavili vezu. Nakon toga, uslužni program će samostalno tražiti ključ u obliku datoteke id_rsa.pub
, koja je stvorena ranije. Uspješno otkrivanje prikazat će sljedeći rezultat:
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
Odredite lozinku od udaljenog hosta kako bi je uslužni program mogao unijeti. Alat će kopirati podatke iz datoteke javnog ključa ~ / .ssh / id_rsa.pub , a zatim će se poruka pojaviti na zaslonu:
Number of key(s) added: 1
Sada se pokušajte prijaviti na uređaj s: "ssh '[email protected]'"
provjerite.
Izgled takvog teksta znači da je ključ uspješno preuzet na udaljeno računalo, a sada neće biti problema s vezom.
Opcija 2: Kopirajte javni ključ putem SSH-a
Ako ne možete koristiti gore spomenuti uslužni program, ali imate lozinku za prijavu na udaljeni SSH poslužitelj, možete ručno učitati korisnički ključ, čime se osigurava daljnja stabilna provjera autentičnosti prilikom povezivanja. Koristi se za ovu naredbu cat , koja čita podatke iz datoteke, a zatim će biti poslana poslužitelju. U konzoli ćete morati unijeti liniju
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"
.
Kada se pojavi poruka
The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
nastavite povezivanje i unesite lozinku za prijavu na poslužitelj. Nakon toga javni ključ će se automatski kopirati na kraj konfiguracijske datoteke autoriziranih ključeva.
Opcija 3: Ručno kopiranje javnog ključa
Ako nema pristupa udaljenom računalu putem SSH poslužitelja, svi gore navedeni koraci se obavljaju ručno. Da biste to učinili, najprije naučite o ključu na računalu poslužitelja putem naredbe cat ~/.ssh/id_rsa.pub
.
Na zaslonu će se prikazati sljedeći redak: ssh-rsa + ключ в виде набора символов== demo@test
. Nakon toga idite na rad na udaljenom uređaju, gdje stvorite novi direktorij kroz mkdir -p ~/.ssh
. To dodatno stvara authorized_keys
datoteku. Zatim umetnite ključ koji ste ranije naučili putem echo + строка публичного ключа >> ~/.ssh/authorized_keys
. Nakon toga možete pokušati provjeravati autentičnost na poslužitelju bez upotrebe lozinki.
U prethodnom odjeljku saznali ste za tri načina kopiranja ključa udaljenog računala na poslužitelj. Takve će vam radnje omogućiti povezivanje bez upotrebe lozinke. Ovaj se postupak provodi putem naredbenog retka upisivanjem shh ssh username@remote_host
, gdje je username @ remote_host korisničko ime i host željenog računala. Prilikom prvog povezivanja bit ćete obaviješteni o nepoznatoj vezi i možete nastaviti odabirom opcije da .
Veza će se automatski pojaviti ako za vrijeme stvaranja para ključeva nije unesena zaporka. U suprotnom, prvo ga morate unijeti da biste nastavili raditi s SSH-om.
Uspješna postavka kopiranja ključa se razmatra u situaciji kada možete ući na poslužitelj bez upotrebe lozinke. Međutim, mogućnost provjere autentičnosti na taj način omogućuje napadačima korištenje alata za pronalaženje lozinke i probijanje sigurne veze. Zaštita od takvih slučajeva omogućit će potpuno onemogućavanje zaporke za prijavu u SSH konfiguracijsku datoteku. To će zahtijevati:
sudo gedit /etc/ssh/sshd_config
. sudo systemctl restart ssh
poslužitelj. Provjera autentičnosti zaporke bit će onemogućena i moći ćete se prijaviti na poslužitelj samo pomoću tipki posebno izrađenih za to pomoću RSA algoritma.
U Ubuntuu je zadani vatrozid Uncomplicated Firewall (UFW). Omogućuje vam dopuštanje veza za odabrane usluge. Svaka aplikacija stvara vlastiti profil u ovom alatu, a UFW upravlja njima dopuštajući ili odbijajući veze. Konfiguriranje SSH profila dodavanjem na popis je kako slijedi:
sudo ufw app list
. sudo ufw allow OpenSSH
. sudo ufw enable
. sudo ufw status
, nakon čega ćete vidjeti status mreže. Time smo dovršili naše SSH konfiguracijske upute za Ubuntu. Daljnje konfiguriranje konfiguracijske datoteke i drugih parametara vrši se osobno od strane svakog korisnika prema njegovim zahtjevima. Možete se upoznati s radom svih komponenti SSH-a u službenim dokumentima protokola.