Táto časť príručky Ubuntu servera hovorí o mocnej kolekcii nástrojov, určených na vzdialenú správu počítačov v sieti a na prenos dát medzi počítačmi, ktorá sa nazýva OpenSSH. V tejto časti sa tiež naučíme, ako sa dá prispôsobiť konfigurácia aplikácií OpenSSH servera a ako ju môžeme zmeniť v systéme Ubuntu.
OpenSSH je voľne dostupná verzia Secure Shell (SSH) protokola obsahujúceho nástroje pre vzdialenú správu počítača a prenos súborov. Tradičné nástroje, ktoré sa často používajú na tento účel, ako napríklad telnet alebo rcp, nie sú bezpečné a prenášajú heslo používateľa ako bežný text. OpenSSH poskytuje serverového démona a klientské nástroje, ktoré umožňujú bezpečnú šifrovanú vzdialenú správu a prenos súborov, a ktoré dokážu efektívne nahradiť bežné nástroje.
Súčasť OpenSSH servera - sshd, nepretržite čaká na spojenie niektorého z klientských nástrojov. Keď nastane požiadavka na spojenie, sshd nastaví správny typ spojenia v závislosti od toho, ktorý z nástrojov sa chce pripojiť. Napríklad. ak sa vzdialený počítač snaží pripojiť pomocou klientskej aplikácie ssh, OpenSSH server pripraví po autentifikácii reláciu so vzdialenou správou. Ak sa vzdialený používateľ pokúša pripojiť k OpenSSH serveru pomocou scp, démon OpenSSH servera sa po autentifikácii pripraví na bezpečný prenos súborov medzi serverom a klientom. OpenSSH môže použiť mnoho spôsobov autentifikácie, vrátane bežného hesla, verejného kľúča, či tzv. vstupeniek systému Kerberos.
Inštalácia OpenSSH klientských a serverových aplikácií je jednoduchá. Ak chceme nainštalovať klientske aplikácie v systéme Ubuntu, zadáme nasledujúci príkaz do príkazového riadka:
sudo apt-get install openssh-client
Ak chceme nainštalovať serverové aplikácie OpenSSH a podporu bezpečného prenosu súborov, do príkazového riadka zadáme:
sudo apt-get install openssh-server
Balík openssh-server si môžeme vybrať už pri inštalácii systému Ubuntu Server.
Predvolené správanie serverovej aplikácie OpenSSH -
sshd môžeme zmeniť v konfiguračnom súbore
/etc/ssh/sshd_config
. Informácie o direktívach použitých v tomto konfiguračnom súbore získame na stránkach man-u zadaním nasledujúceho príkazu:
man sshd_config
Konfiguračný súbor sshd obsahuje mnoho direktív, ktoré riadia také veci ako je komunikácia či autentifikácia. Ukážeme si niekoľko príkladov nastavenia direktív, ktoré môžeme vykonať v súbore /etc/ssh/sshd_config
.
![]() |
Pred tým, ako začnete meniť akýkoľvek konfiguračný súbor, mali by ste si vytvoriť kópiu pôvodného súboru a nastaviť ho iba na čítanie, aby ste mohli pôvodné nastavenia použiť kvôli porovnaniu a v prípade potreby sa ku nim vrátiť. Vytvorte kópiu súboru |
---|---|
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original
Tu sú sľúbené konfiguračné direktívy, ktoré môžeme zmeniť:
/etc/ssh/sshd_config
už existuje, uistíme sa, že nie je zapoznámkovaný.
/etc/issue.net
, jednoducho pridáme alebo upravíme riadok:
/etc/ssh/sshd_config
.
Po vykonaní zmien v súbore /etc/ssh/sshd_config
, súbor uložíme a reštartujeme serverovú aplikáciu sshd, aby sa zmeny prejavili. Urobíme to zadaním nasledujúceho príkazu do príkazového riadka:
sudo /etc/init.d/ssh restart
![]() |
Pre sshd existuje mnoho ďalších nastavení, ktoré zmenia správanie serverovej aplikácie podľa vašich potrieb. Mali by ste však vedieť, že ak je ssh jediný spôsob, akým sa viete dostať na server a urobíte chybu pri nastavovaní sshd pomocou konfiguračného súboru
|
---|---|
SSH kľúče umožňujú autentifikáciu medzi dvoma stanicami bez potreby použitia hesla. Autentifikácia pomocou SSH kľúčov používa dva kľúče, súkromný kľúč a verejný kľúč.
Ak chceme kľúče vygenerovať, zadáme do príkazového riadka príkaz:
ssh-keygen -t dsa
Tento príkaz vygeneruje kľúče za pomoci DSA autentifikačnej identity používateľa. Počas procesu sa systém opýta na heslo. Pri tejto výzve stlačíme iba Enter a kľúč sa vytvorí.
Za normálnych okolností sa verejný kľúč uloží do súboru ~/.ssh/id_dsa.pub
a súkromný kľúč zasa do súboru
~/.ssh/id_dsa
. Teraz nakopírujeme súbor id_dsa.pub
na vzdialenú stanicu a pripojíme ho do súboru ~/.ssh/authorized_keys
zadaním príkazu:
ssh-copy-id pouzivatel@vzdialena_stanica
Nakoniec pre istotu dvakrát skontrolujeme práva k súboru authorized_keys
, aby ho mohli čítať a zapisovať do neho iba oprávnení používatelia.
Ak práva nie sú správne nastavené, zmeníme ich pomocou príkazu:
chmod 644 .ssh/authorized_keys
Teraz sa budeme môcť pripojiť cez SSH k vzdialenému počítaču bez nutnosti zadania hesla.