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ý.
obsah
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
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.
ssh-keygen
a stlačte kláves Enter . 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é.
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.
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"
.
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
.
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.
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 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.
Ú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ť:
sudo gedit /etc/ssh/sshd_config
. sudo systemctl restart ssh
server. 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.
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á:
sudo ufw app list
. sudo ufw allow OpenSSH
. sudo ufw enable
. sudo ufw status
, po ktorom uvidíte stav siete. 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.