Čo je SSH?
SSH znamená Secure Shell. Pomocou SSH môžete bezpečne pristupovať k vzdialeným strojom, keďže pripojenie je šifrované. Pomocou príkazu ssh z terminálu Linuxu sa môžeme pripojiť k vzdialeným Linux serverom a pracovať tak, akoby to bol náš vlastný počítač. Na konci tohto návodu by ste mali plne rozumieť tomu, ako používať SSH na pripojenie k vzdialenému serveru v Ubuntu.
Syntax
Syntax je pravidlo, ako môžete použiť príkaz ssh. Môžete zmeniť usporiadanie syntaxe, ale musíte dodržať priamy formát. Nižšie je uvedený príklad syntaxe pre použitie príkazu ssh:
|
1 |
ssh remote_host |
Názov domény alebo IP adresa, ku ktorej sa chcete pripojiť, je remote_host, ako je znázornené v príkaze vyššie. Táto syntax predpokladá, že vaše používateľské meno vo vzdialenom systéme a vo vašom lokálnom systéme je rovnaké. Ak však používateľské mená nie sú rovnaké, môžete to označiť týmto príkazom:
|
1 |
ssh remote_username@remote_host |
Ihneď po pripojení k serveru budete musieť overiť svoju totožnosť zadaním hesla. Zadajte príkaz exit pre návrat do vašej lokálnej relácie.
Ako nakonfigurovať SSH
Hlavný konfiguračný súbor sshd v Ubuntu sa nachádza na adrese /etc/ssh/sshd_config. Ak zmeníte konfiguráciu SSH, nastavenia servera SSHD sa automaticky zmenia. Pred akoukoľvek konfiguráciou sa uistite, že ste zálohovali aktuálnu verziu súboru pomocou tohto príkazu:
|
1 |
sudo cp /etc/ssh/sshd_config{,.bak} |
Na jeho otvorenie použite textový editor:
|
1 |
sudo nano /etc/ssh/sshd_config |
Väčšinu parametrov v tomto súbore by ste mali nechať tak. Je tu však niekoľko vecí, ktorým by ste mali venovať pozornosť:
|
1 |
Port 22 |
Deklarácie portov označujú port, na ktorom server SSHD čaká na pripojenia. Predvolená hodnota je 22. Ak na to nemáte konkrétne dôvody, toto nastavenie nemusíte meniť:
|
1 2 3 |
HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key |
Deklarácia hostiteľského kľúča označuje, kde sa nachádza globálny hostiteľský kľúč:
|
1 2 |
SyslogFacility AUTH LogLevel INFO |
Úroveň logovania, ktorá sa má vykonávať, je indikovaná týmito dvoma položkami. Ak máte problémy s používaním SSH, vynikajúcim spôsobom, ako identifikovať problém, je zvýšiť úroveň logovania:
|
1 2 3 |
LoginGraceTime 120 PermitRootLogin yes StrictModes yes |
Tieto možnosti definujú niektoré informácie pre prihlásenie, aby sa zabránilo neoprávnenému prihláseniu, keď sú konfiguračné súbory nezabezpečené:
|
1 2 |
X11Forwarding yes X11DisplayOffset 10 |
Tieto konfigurácie parametrov sa označujú ako funkcie presmerovania X11. Týmto spôsobom môžete zobraziť grafické rozhranie vzdialeného systému na lokálnom systéme. Túto možnosť musíte povoliť na serveri a zároveň sa pripájať s voľbou -X v SSH klientovi.
Po vykonaní zmien súbor uložte a zatvorte stlačením CTRL-X a Y a potom stlačte Enter. Ak zmeníte nastavenia v / etc / ssh / sshd_config, musíte reštartovať server sshd, aby sa zmeny prejavili:
|
1 |
sudo service ssh restart |
Pre systémy so systemd, ako je Ubuntu 16.04 alebo Debian Jessie, použite tento príkaz:
|
1 |
sudo systemctl restart ssh |
Dôkladne otestujte svoje zmeny, aby ste sa uistili, že všetko funguje perfektne. Ak robíte nejaké zmeny, mali by ste si pravdepodobne nechať niekoľko relácií aktívnych. Týmto spôsobom môžete v prípade potreby obnoviť konfiguráciu.
Ako sa prihlásiť do SSH pomocou kľúčov? Je dobré prihlasovať sa do vzdialeného systému pomocou hesla. Najlepšie je však nastaviť autentifikáciu založenú na kľúčoch.
Čo je autentifikácia založená na kľúčoch?
Autentifikácia založená na kľúčoch vytvára dva páry kľúčov nazývané súkromný a verejný kľúč. Súkromný kľúč sa nachádza v počítači používateľa a je chránený a uchovávaný v tajnosti. Verejný kľúč môže byť sprístupnený komukoľvek alebo uložený na akomkoľvek serveri, ku ktorému chcete pristupovať. Ak sa pokúsite pripojiť pomocou páru kľúčov, server použije verejný kľúč na vygenerovanie správy pre počítač používateľa. Používateľ môže správu prečítať iba pomocou súkromného kľúča. Počítač používateľa potom odošle odpoveď späť na server a server vie, že používateľ je pravý. Po nastavení kľúča sa celý proces automaticky dokončí na pozadí.
Ako vytvoriť kľúče SSH
Kľúče SSH by sa mali generovať v počítači, z ktorého sa chcete prihlásiť. Zvyčajne je to váš lokálny počítač. Do príkazového riadka zadajte nasledovné:
|
1 |
ssh-keygen -t rsa |
Potom stlačením KLÁVESU ENTER potvrďte predvolené hodnoty. Vygeneruje vaše kľúče v ~/.ssh/id_rsa.pub a ~/.ssh/id_rsa. Potom zadajte príkaz nižšie, aby ste prešli do adresára .ssh:
|
1 |
cd ~/.ssh |
Toto sú oprávnenia súborov:
|
1 |
ls -l |

Ako môžete vidieť, iba vlastník môže čítať a zapisovať do súboru id_rsa. Preto ho musíte uchovávať v bezpečí. Súbor id_rsa.pub však môžete zdieľať a mať príslušné oprávnenia pre túto aktivitu. Ďalším krokom je prenos verejného kľúča na server pomocou tejto syntaxe:
|
1 |
ssh-copy-id remote_host |
Týmto sa spustí relácia SSH a na autentifikáciu musíte použiť heslo. Po zadaní hesla sa váš verejný kľúč skopíruje do súboru autorizovaných kľúčov servera, takže sa nabudúce budete môcť prihlásiť bez hesla.
Ako zakázať autentifikáciu heslom
Ak je vygenerovaný kľúč SSH, môžete zvýšiť bezpečnosť servera zakázaním autentifikácie iba pomocou hesla. Na server sa môžete prihlásiť pomocou súkromného kľúča s nainštalovaným verejným kľúčom na serveri namiesto použitia konzoly.
Poznámka: Pred pokračovaním v tomto kroku sa uistite, že ste na server nainštalovali verejný kľúč. Ak nie, budete zablokovaní!
Otvorte konfiguračný súbor sshd pomocou tohto príkazu:
|
1 |
sudo nano /etc/ssh/sshd_config |
Nájdite a odkomentujte riadok, ktorý hovorí o kontrole autentifikácie heslom vymazaním znaku # na začiatku. Potom môžete zmeniť hodnotu na “no”:
|
1 |
PasswordAuthentication no |
PubkeyAuthentication a ChallengeResponseAuthentication sú nastavené predvolene a mali by vyzerať takto:
|
1 2 |
PubkeyAuthentication yes ChallengeResponseAuthentication no |
Tieto dve nastavenia by ste nemali meniť. Potom súbor uložte a po vykonaní zmien ho zatvorte. Ďalej použite príkaz nižšie na reštartovanie démona SSH:
|
1 |
sudo systemctl restart ssh |
Nakoniec ste zakázali autentifikáciu heslom a k vášmu serveru je možné pristupovať iba pomocou autentifikácie kľúčom SSH.
Záver
V tomto návode sme vám ukázali, ako použiť SSH na bezpečné pripojenie k vzdialenému serveru v Ubuntu. Naučiť sa používať SSH je základom, ak ste správcom systému, takže po zvládnutí tohto návodu môžete pokračovať s pokročilejšími funkciami SSH.
Príjemnú prácu s počítačom!
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.