Konfigurirajte SSH u Ubuntuu

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.

Konfigurirajte SSH u Ubuntuu

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

Stvaranje para RSA ključeva

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.

  1. Prebacite se na rad s Terminalom pomoću bilo koje prikladne metode, primjerice, otvaranjem kroz izbornik ili kombinaciju tipki Ctrl + Alt + T.
  2. Pokrenite terminal u Ubuntuu kako biste dodatno konfigurirali SSH

  3. Upišite ssh-keygen , a zatim pritisnite tipku Enter .
  4. Kreirajte SSH ključ kroz konzolu u Ubuntu operativnom sustavu

  5. Od vas će se tražiti da stvorite datoteku u kojoj će ključevi biti spremljeni. Ako ih želite ostaviti na zadanom mjestu, samo pritisnite Enter .
  6. Odaberite datoteku za spremanje ključeva SSH protokola u Ubuntu

  7. Javni ključ može biti zaštićen pomoću fraze koda. Ako želite koristiti ovu opciju, u prikazanoj liniji upišite lozinku. Uneseni znakovi neće biti prikazani. Nova linija će je morati ponoviti.
  8. Unosom ključne fraze prilikom kreiranja SSH ključa u Ubuntuu

  9. Dalje ćete vidjeti obavijest da je ključ spremljen, a također ćete se moći upoznati s njegovom slučajnom grafičkom slikom.
  10. Uspješno stvaranje ključeva za SSH u operativnom sustavu Ubuntu

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.

Kopiranje javnog ključa na poslužitelj

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.

Kopirajte SSH ključ kroz poseban uslužni program u Ubuntuu

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" .

Prenesite kopirani ključ kroz poseban uslužni program Ubuntu

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 .

Pogledajte ključne informacije pomoću naredbe cat u Ubuntuu

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.

Provjera autentičnosti na poslužitelju putem generiranog ključa

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 .

Povezivanje s udaljenim računalom putem SSH-a u Ubuntuu

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.

Onemogući provjeru autentičnosti zaporke

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:

  1. U Terminalu otvorite konfiguracijsku datoteku preko urednika naredbom sudo gedit /etc/ssh/sshd_config .
  2. Pokrenite SSH konfiguracijsku datoteku putem urednika u Ubuntuu

  3. Pronađite liniju "PasswordAuthentication" i uklonite znak # na početku da biste uklonili komentar parametra.
  4. Poništite komentar niza s provjerom autentičnosti lozinke u Ubuntuu

  5. Promijenite vrijednost u ne i spremite trenutnu konfiguraciju.
  6. Onemogućite provjeru autentičnosti SSH lozinke putem Ubuntua

  7. Zatvorite editor i ponovno pokrenite sudo systemctl restart ssh poslužitelj.
  8. Ponovno pokrenite SSH poslužitelj u Ubuntu OS-u

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.

Postavljanje standardnog vatrozida

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:

  1. Otvorite popis profila vatrozida pomoću naredbe sudo ufw app list .
  2. Pregledajte popis standardnih profila vatrozida u Ubuntuu

  3. Unesite zaporku računa da biste prikazali informacije.
  4. Unos lozinke za pregled popisa Ubuntu standardnih profila vatrozida

  5. Vidjet ćete popis dostupnih aplikacija, OpenSSH bi trebao biti među njima.
  6. Popis standardnih profila vatrozida u Ubuntuu

  7. Sada biste trebali dopustiti veze preko SSH-a. Da biste to učinili, dodajte ga na popis dopuštenih profila pomoću sudo ufw allow OpenSSH .
  8. Dodajte SSH poslužitelj kako biste omogućili veze s Ubuntu vatrozidom

  9. Omogućite vatrozid ažuriranjem pravila, sudo ufw enable .
  10. Ponovno pokrenite pravila ažuriranja vatrozida u Ubuntuu

  11. Da biste bili sigurni da su veze dopuštene, trebate postaviti sudo ufw status , nakon čega ćete vidjeti status mreže.
  12. Pregledajte popis dopuštenih veza vatrozida u Ubuntuu

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.