Nakonfigurujte SSH v Ubuntu

Technológia SSH (Secure Shell) umožňuje bezpečné diaľkové ovládanie počítača prostredníctvom zabezpečeného pripojenia. SSH šifruje všetky prenesené súbory, vrátane hesiel, a tiež prenáša akýkoľvek sieťový protokol. Aby nástroj fungoval správne, je potrebné ho nielen nainštalovať, ale aj nakonfigurovať. Radi by sme hovorili o produkte hlavnej konfigurácie v tomto článku, berúc ako príklad najnovšiu verziu operačného systému Ubuntu, na ktorom bude server umiestnený.

Nakonfigurujte SSH v Ubuntu

Ak ste nedokončili inštaláciu na serveri a klientskych počítačoch, mali by ste to urobiť najskôr, pretože celý postup je pomerne jednoduchý a netrvá dlho. Podrobné usmernenie k tejto téme nájdete v našom ďalšom článku na nasledujúcom odkaze. Ukazuje tiež postup pri úprave konfiguračného súboru a testovanie SSH, takže dnes budeme prebrať ďalšie úlohy.

Ďalšie podrobnosti: Inštalácia SSH-servera v Ubuntu

Vytvorenie páru kľúčov RSA

Novo nainštalovaný SSH nemá určené kľúče na pripojenie zo servera ku klientovi a naopak. Všetky tieto parametre sa musia nastaviť manuálne ihneď po pridaní všetkých komponentov protokolu. Kľúčový pár pracuje pomocou algoritmu RSA (skratka pre mená vývojárov Rivest, Shamir a Adleman). Vďaka tomuto kryptosystému sú špeciálne klávesy šifrované pomocou špeciálnych algoritmov. Ak chcete vytvoriť pár verejných kľúčov, stačí zadať do konzoly príslušné príkazy a postupujte podľa zobrazených pokynov.

  1. Prepnite na prácu s terminálom pomocou akejkoľvek vhodnej metódy, napríklad otvorením v ponuke alebo kombináciou klávesov Ctrl + Alt + T.
  2. Spustite terminál v Ubuntu pre ďalšiu konfiguráciu SSH

  3. Napíšte ssh-keygen a stlačte kláves Enter .
  4. Vytvorte SSH kľúč cez konzolu v operačnom systéme Ubuntu

  5. Budete vyzvaní na vytvorenie súboru, do ktorého sa uložia kľúče. Ak ich chcete ponechať v predvolenom umiestnení, stlačte kláves Enter .
  6. Vyberte súbor na uloženie kľúčov SSH protokolu v Ubuntu

  7. Verejný kľúč môže byť chránený kódovou frázou. Ak chcete použiť túto možnosť, v zobrazenom riadku napíšte heslo. Zadané znaky sa nezobrazia. Nový riadok ho bude musieť zopakovať.
  8. Zadanie kľúčovej frázy pri vytváraní SSH kľúča v Ubuntu

  9. Ďalej uvidíte oznámenie, že kľúč bol uložený, a budete sa tiež môcť oboznámiť s jeho náhodným grafickým obrazom.
  10. Úspešné vytvorenie kľúčov pre SSH v operačnom systéme Ubuntu

Teraz je vytvorená dvojica kľúčov - tajná a verejná, ktorá bude slúžiť na ďalšie prepojenie počítačov. Stačí zadať kľúč na server, aby bolo overenie SSH úspešné.

Kopírovanie verejného kľúča na server

Existujú tri spôsoby kopírovania kľúčov. Každá z nich bude optimálna v rôznych situáciách, kde napríklad jedna z metód nefunguje alebo nie je vhodná pre konkrétneho používateľa. Navrhujeme zvážiť všetky tri možnosti, počnúc najjednoduchším a najúčinnejším.

Možnosť 1: príkaz ssh-copy-id

Príkaz ssh-copy-id je zabudovaný do operačného systému, takže na jeho spustenie nie je potrebné inštalovať žiadne ďalšie komponenty. Skopírujte kľúč podľa jednoduchej syntaxe. V "Terminal" musíte zadať ssh-copy-id username@remote_host , kde username @ remote_host je názov vzdialeného počítača.

Skopírujte kľúč SSH cez špeciálny nástroj v Ubuntu

Pri prvom pripojení dostanete text upozornenia:

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

Ak chcete pokračovať v spojení, musíte zadať možnosť yes . Potom bude nástroj nezávisle hľadať kľúč vo forme súboru id_rsa.pub , ktorý bol vytvorený skôr. Úspešná detekcia zobrazí nasledujúci výsledok:

/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:

Zadajte heslo zo vzdialeného hostiteľa, aby ho mohol zadať. Nástroj skopíruje údaje zo súboru verejných kľúčov ~ / .ssh / id_rsa.pub a potom sa na obrazovke zobrazí správa:

Number of key(s) added: 1

Skúste sa prihlásiť do počítača pomocou: "ssh '[email protected]'"
pozrite sa na to.

Vzhľad takéhoto textu znamená, že kľúč bol úspešne prevzatý do vzdialeného počítača a teraz nebudú žiadne problémy s pripojením.

Možnosť 2: Skopírujte verejný kľúč cez SSH

Ak nemôžete použiť vyššie uvedený nástroj, ale máte heslo na prihlásenie na vzdialený server SSH, môžete svoj kľúč používateľa manuálne načítať, čím sa zabezpečí ďalšie stabilné overovanie pri pripájaní. Používa sa pre tento príkaz cat , ktorý číta dáta zo súboru, a potom budú odoslané na server. V konzole budete musieť zadať riadok

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

Preneste kopírovaný kľúč cez špeciálny nástroj Ubuntu

Keď sa zobrazí správa

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

pokračujte v pripojení a zadajte heslo na prihlásenie na server. Potom bude verejný kľúč automaticky skopírovaný na koniec konfiguračného súboru authorized_keys.

Možnosť 3: Manuálne skopírujte verejný kľúč

Ak nie je prístup k vzdialenému počítaču cez server SSH, všetky vyššie uvedené kroky sa vykonávajú manuálne. Na to sa najprv dozviete o kľúči na serveri PC pomocou príkazu cat ~/.ssh/id_rsa.pub .

Zobrazenie kľúčových informácií prostredníctvom príkazu cat v Ubuntu

Na obrazovke sa zobrazí nasledujúci riadok: ssh-rsa + ключ в виде набора символов== demo@test . Potom prejdite do práce na vzdialenom zariadení, kde vytvorte nový adresár prostredníctvom mkdir -p ~/.ssh . Okrem toho vytvorí súbor authorized_keys. Potom vložte kľúč, ktorý ste sa naučili skôr prostredníctvom echo + строка публичного ключа >> ~/.ssh/authorized_keys . Potom sa môžete pokúsiť o autentifikáciu na serveri bez použitia hesiel.

Overovanie na serveri cez vygenerovaný kľúč

V predchádzajúcej časti ste sa dozvedeli o troch spôsoboch kopírovania kľúča vzdialeného počítača na server. Takéto akcie vám umožnia pripojiť sa bez použitia hesla. Tento postup sa vykonáva cez príkazový riadok zadaním príkazu shh ssh username@remote_host , kde username @ remote_host je používateľské meno a hostiteľ požadovaného počítača. Keď sa prvýkrát pripojíte, budete upozornení na neznáme pripojenie a môžete pokračovať výberom možnosti áno .

Pripojenie k vzdialenému počítaču cez SSH v Ubuntu

Pripojenie sa vykoná automaticky, ak počas vytvárania párov kľúčov nebola zadaná prístupová fráza. V opačnom prípade ho musíte najprv zadať, aby ste mohli pokračovať v práci s SSH.

Zakázať autentifikáciu heslom

Úspešné nastavenie kopírovania kľúčov sa zvažuje v situácii, keď môžete zadať server bez použitia hesla. Schopnosť autentifikovať týmto spôsobom však umožňuje útočníkom používať nástroje na nájdenie hesla a preniknutie do zabezpečeného pripojenia. Ochrana pred takýmito prípadmi umožní úplné zablokovanie prihlasovacieho hesla v konfiguračnom súbore SSH. To bude vyžadovať:

  1. V termináli otvorte konfiguračný súbor cez editor príkazom sudo gedit /etc/ssh/sshd_config .
  2. Spustite konfiguračný súbor SSH cez editor v Ubuntu

  3. Vyhľadajte riadok „PasswordAuthentication“ a odstráňte znak # na začiatku, aby ste parameter odkomentovali.
  4. Odomknite reťazec s overením hesla v Ubuntu

  5. Zmeňte hodnotu na hodnotu no a uložte aktuálnu konfiguráciu.
  6. Zakázať overenie hesla SSH cez Ubuntu

  7. Zatvorte editor a reštartujte sudo systemctl restart ssh server.
  8. Reštartujte SSH server v OS Ubuntu

Overenie hesla bude zakázané a budete sa môcť prihlásiť na server iba pomocou kľúčov špeciálne vytvorených pre tento účel pomocou algoritmu RSA.

Nastavenie štandardnej brány firewall

V Ubuntu je predvoleným firewallom Uncomplicated Firewall (UFW). Umožňuje povoliť pripojenia pre vybrané služby. Každá aplikácia vytvorí v tomto nástroji vlastný profil a služba UFW ich spravuje povolením alebo odmietnutím pripojenia. Konfigurácia profilu SSH jeho pridaním do zoznamu je nasledovná:

  1. Otvorte zoznam profilov firewallu pomocou príkazu sudo ufw app list .
  2. Pozrite si zoznam štandardných profilov brány firewall v programe Ubuntu

  3. Ak chcete zobraziť informácie, zadajte heslo svojho účtu.
  4. Zadanie hesla na zobrazenie zoznamu štandardných profilov brány firewall Ubuntu

  5. Uvidíte zoznam dostupných aplikácií, medzi ktorými by mal byť aj OpenSSH.
  6. Zoznam štandardných profilov firewallov v Ubuntu

  7. Teraz by ste mali povoliť pripojenia cez SSH. Ak to chcete urobiť, pridajte ho do zoznamu povolených profilov pomocou sudo ufw allow OpenSSH .
  8. Pridajte SSH server, aby ste povolili pripojenia k firewallu Ubuntu

  9. Aktivujte bránu firewall aktualizáciou pravidiel, sudo ufw enable .
  10. Reštartujte pravidlá aktualizácie firewallu v Ubuntu

  11. Aby ste sa uistili, že pripojenia sú povolené, mali by ste nastaviť sudo ufw status , po ktorom uvidíte stav siete.
  12. Pozrite si zoznam povolených pripojení brány firewall v Ubuntu

Týmto je dokončený náš návod na konfiguráciu SSH pre Ubuntu. Ďalšiu konfiguráciu konfiguračného súboru a ďalších parametrov vykonáva každý užívateľ podľa svojich požiadaviek. Môžete sa oboznámiť s obsluhou všetkých komponentov SSH v oficiálnej dokumentácii protokolu.