Co je to SSH?
SSH znamená Secure Shell. Pomocí SSH můžete bezpečně přistupovat ke vzdáleným počítačům, protože připojení je šifrované. Pomocí příkazu ssh z terminálu Linuxu se můžeme připojit ke vzdáleným linuxovým serverům a pracovat, jako by to byl náš vlastní počítač. Na konci tohoto návodu byste měli plně rozumět tomu, jak používat SSH k připojení ke vzdálenému serveru v Ubuntu.
Syntaxe
Syntaxe je pravidlo, jak můžete příkaz ssh použít. Syntaxi můžete upravit, ale je nutné dodržet přímý formát. Níže je uveden příklad syntaxe pro použití příkazu ssh:
|
1 |
ssh remote_host |
Doménové jméno nebo IP adresa, ke které se chcete připojit, je remote_host, jak je znázorněno v příkazu výše. Tato syntaxe předpokládá, že vaše uživatelské jméno ve vzdáleném systému a ve vašem lokálním systému je stejné. Pokud se však uživatelská jména liší, můžete to označit tímto příkazem:
|
1 |
ssh remote_username@remote_host |
Ihned po připojení k serveru budete muset ověřit svou totožnost zadáním hesla. Chcete-li se vrátit do místní relace, zadejte příkaz exit.
Jak nakonfigurovat SSH
Hlavní konfigurační soubor sshd v Ubuntu se nachází na adrese /etc/ssh/sshd_config. Pokud změníte konfiguraci SSH, nastavení serveru SSHD se automaticky změní. Před jakoukoli konfigurací se ujistěte, že jste zálohovali aktuální verzi souboru pomocí tohoto příkazu:
|
1 |
sudo cp /etc/ssh/sshd_config{,.bak} |
K jeho otevření použijte textový editor:
|
1 |
sudo nano /etc/ssh/sshd_config |
Většinu parametrů byste v tomto souboru měli nechat beze změny. Je však několik věcí, kterým byste měli věnovat pozornost:
|
1 |
Port 22 |
Deklarace portu udává port, na kterém server SSHD čeká na připojení. Výchozí hodnota je 22. Pokud k tomu nemáte konkrétní důvody, nemusíte toto nastavení měnit:
|
1 2 3 |
HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key |
Deklarace hostitelského klíče udává, kde se nachází globální hostitelský klíč:
|
1 2 |
SyslogFacility AUTH LogLevel INFO |
Těmito dvěma položkami je indikován úroveň protokolování, která by měla být prováděna. Pokud máte problémy s používáním SSH, skvělým způsobem, jak problém identifikovat, je zvýšit úroveň logování:
|
1 2 3 |
LoginGraceTime 120 PermitRootLogin yes StrictModes yes |
Tyto volby definují některé informace pro přihlášení, aby se zabránilo neoprávněnému přihlášení v případě, že konfigurační soubory nejsou zabezpečené:
|
1 2 |
X11Forwarding yes X11DisplayOffset 10 |
Tato nastavení parametrů se označují jako funkce předávání X11. Tímto způsobem můžete zobrazit grafické rozhraní vzdáleného systému na místním systému. Tuto možnost musíte povolit na serveru a zároveň se připojit k SSH klientovi s volbou -X.
Po provedení změn soubor uložte a zavřete stisknutím kláves CTRL-X a Y a poté stiskněte Enter. Pokud změníte nastavení v /etc/ssh/sshd_config, musíte restartovat server sshd, aby se změna projevila:
|
1 |
sudo service ssh restart |
Pro systémy se systemd, jako je Ubuntu 16.04 nebo Debian Jessie, použijte tento příkaz:
|
1 |
sudo systemctl restart ssh |
Důkladně otestujte své změny, abyste se ujistili, že vše funguje perfektně. Pokud provádíte nějaké změny, měli byste si pravděpodobně nechat aktivní některé relace. Tímto způsobem můžete v případě potřeby obnovit konfiguraci.
Jak se přihlásit k SSH pomocí klíčů? Je dobré se ke vzdálenému systému přihlašovat pomocí hesla. Nejlepší je však nastavit ověřování založené na klíčích.
Co je to ověřování založené na klíčích?
Ověřování založené na klíči vytváří dva páry klíčů nazývané soukromý a veřejný klíč. Soukromý klíč se nachází v počítači uživatele, kde je chráněn a uchováván v tajnosti. Veřejný klíč může být zpřístupněn komukoli nebo uložen na jakémkoli serveru, ke kterému chcete přistupovat. Pokud se pokusíte připojit pomocí páru klíčů, server použije veřejný klíč k vygenerování zprávy pro počítač uživatele. Uživatel může zprávu přečíst pouze pomocí soukromého klíče. Počítač uživatele pak odešle odpověď zpět na server a server tak ví, že uživatel je pravý. Po nastavení klíče se celý proces automaticky dokončí na pozadí.
Jak vytvořit SSH klíče
SSH klíče by měly být vygenerovány na počítači, ze kterého se chcete přihlásit. Obvykle se jedná o váš lokální počítač. Do příkazového řádku zadejte následující:
|
1 |
ssh-keygen -t rsa |
Poté stisknutím klávesy ENTER přijměte výchozí hodnoty. Klíče se vygenerují v ~/.ssh/id_rsa.pub a ~/.ssh/id_rsa. Poté zadejte níže uvedený příkaz pro přechod do adresáře .ssh:
|
1 |
cd ~/.ssh |
Toto jsou oprávnění k souborům:
|
1 |
ls -l |

Jak vidíte, pouze vlastník může soubor id_rsa číst a zapisovat do něj. Proto jej musíte uchovávat v bezpečí. Soubor id_rsa.pub však můžete sdílet a mít pro tuto aktivitu příslušná oprávnění. Dalším krokem je přenos veřejného klíče na server pomocí této syntaxe:
|
1 |
ssh-copy-id remote_host |
Tím se spustí relace SSH a pro ověření musíte použít heslo. Po zadání hesla se váš veřejný klíč zkopíruje do souboru autorizovaných klíčů serveru, abyste se příště mohli přihlásit bez hesla.
Jak zakázat ověřování heslem
Pokud je vygenerován klíč SSH, můžete zvýšit zabezpečení serveru zakázáním ověřování pouze heslem. K serveru se můžete přihlásit pomocí soukromého klíče s veřejným klíčem nainstalovaným na serveru namísto použití konzole.
Poznámka: Před pokračováním v tomto kroku se ujistěte, že jste na server nainstalovali veřejný klíč. Pokud ne, budete zablokováni!
Otevřete konfigurační soubor sshd pomocí tohoto příkazu:
|
1 |
sudo nano /etc/ssh/sshd_config |
Najděte a odkomentujte řádek pro ověření hesla (PasswordAuthentication) smazáním znaku # na začátku. Poté můžete změnit hodnotu na “no”:
|
1 |
PasswordAuthentication no |
PubkeyAuthentication a ChallengeResponseAuthentication jsou nastaveny ve výchozím stavu a měly by vypadat takto:
|
1 2 |
PubkeyAuthentication yes ChallengeResponseAuthentication no |
Tato dvě nastavení byste neměli měnit. Poté soubor uložte a po provedení změn jej zavřete. Dále použijte níže uvedený příkaz k restartování démona SSH:
|
1 |
sudo systemctl restart ssh |
Nakonec jste zakázali ověřování heslem a k vašemu serveru lze nyní přistupovat pouze pomocí ověřování klíčem SSH.
Závěr
V tomto návodu jsme vám ukázali, jak používat SSH k bezpečnému připojení ke vzdálenému serveru v Ubuntu. Naučit se používat SSH je pro správce systému zásadní, takže po zvládnutí tohoto návodu můžete pokračovat s pokročilejšími funkcemi SSH.
Příjemnou práci s počítačem!
Komentáře
Zatím žádné komentáře. Buďte první.