požadavky
Server SSH není ve výchozím nastavení na Ubuntu nainstalován. Před zahájením tohoto kurzu musíte nainstalovat balíček OpenSSH, který bude fungovat jako SSH server. Spuštěním následujícího příkazu nainstalujte server OpenSSH, pokud ještě není v systému nainstalován.
$ sudo apt install openssh-serverVygenerujte klíč SSH
Vygenerujte páry klíčů SSH pro spouštění příkazů na vzdáleném serveru. Spuštěním následujícího příkazu vytvořte veřejný klíč a soukromý klíč. Soukromý klíč je uložen na vzdáleném serveru a veřejné klíče jsou bezpečně uloženy v klientovi.
$ ssh-keygen -t rsaPo provedení výše uvedeného příkazu budete dotázáni na název souboru, do kterého bude klíč uložen. Stiskněte klávesu Enter klíč k zachování výchozího názvu souboru veřejného klíče, což je id_rsa.pub . Dále budete požádáni o heslo pro přihlášení. Stiskněte znovu Enter stiskněte dvakrát, chcete-li ponechat prázdné heslo. Po vygenerování klíčů se zobrazí následující podobný výstup.
Vytvořte soubor „authorized_keys“
Soubor id_rsa.pub obsahuje veřejný klíč připojení SSH, který je uložen ve složce ~ / .ssh / vzdáleného hostitele. Klientský počítač také potřebuje veřejný klíč pro připojení ke vzdálenému hostiteli, který bude zkopírován v další části výukového programu. Ve složce ~ / .ssh vzdáleného hostitele, která obsahuje veřejný klíč, musíte vytvořit soubor author_keys. Spuštěním následujícího příkazu přesuňte soubor id_rsa.pub do souboru ~ / .ssh / author_keys.
$ mv ~ / .ssh / id_rsa.pub ~ / .ssh / autorizované_klíčeChyba se nezobrazí, pokud byl soubor přesunut správně, jako na následujícím obrázku.
Změňte konfigurační soubor
Chcete-li vytvořit připojení SSH bez hesla, musíte na počítači serveru nastavit některé konfigurační parametry. Spuštěním následujícího příkazu otevřete soubor sshd_config pomocí editoru nano a nastavte požadované hodnoty parametrů.
$ sudo nano / etc / ssh / sshd_configNastavením hodnoty PasswordAuthentication na no deaktivujete možnost textového hesla pro připojení SSH.
Číslo ověření hesla
Uložte a zavřete soubor. Spuštěním následujícího příkazu restartujte službu SSH.
$ sudo systemctl restart sshSpusťte následující příkaz pro nastavení autorizačních bitů v souboru author_keys, abyste zabránili neoprávněnému přístupu k tomuto souboru.
$ chmod 600 ~ / .ssh / autorizované_klíčeZkopírujte veřejný klíč do klientského počítače
Nyní se přihlaste do klientského počítače, ze kterého spouštíte příkaz ssh, abyste vytvořili připojení SSH se vzdáleným hostitelem. Zde byly dva uživatelské účty z Ubuntu použity ke kontrole připojení SSH na místním serveru. V tomto kurzu byl jeden uživatelský účet použit jako klient a jiný uživatelský účet byl použit jako server.
Spusťte následující příkaz a vytvořte složku s názvem ~ / .ssh na klientském počítači, pokud neexistuje.
$ mkdir ~ / .sshSpuštěním následujícího příkazu zkopírujte veřejný klíč ze vzdáleného hostitele do složky ~ / .ssh klienta.
$ scp [e-mail chráněný]:/home/fahmida/.ssh/id_rsa ~ / .ssh /Abyste mohli zkopírovat veřejný klíč do klientského počítače, musíte zadat heslo uživatelského jména vzdáleného hostitele. Pokud byl soubor zkopírován správně, získáte následující výstup. Klientský počítač je nyní připraven navázat spojení se serverovým počítačem prostřednictvím služby SSH.
Přihlaste se k počítači serveru pomocí SSH bez hesla
Nyní je veřejný klíč přítomen na klientských i serverových počítačích. Když klientský počítač odešle požadavek na připojení serveru pomocí příkazu ssh, server porovná veřejný klíč klienta s veřejným klíčem serveru. Pokud jsou nalezeny shody, je vytvořeno spojení z klienta na server. K serveru nebo ke vzdálenému hostiteli se můžete připojit pomocí názvu hostitele nebo adresy IP. Místní server použil tento kurz k ukázce použití klíče autorizovaný_klíč k navázání připojení SSH z klientského počítače na serverový počítač. Jeden účet byl použit jako serverový počítač, na kterém je nainstalován server OpenSSH, a další účet zde byl použit jako klientský počítač. Spusťte následující příkaz na klientském počítači pro připojení k serveru.
$ ssh [e-mail chráněný]Po provedení výše uvedeného příkazu se objeví následující výstup. Výstup ukazuje, že uživatelské jméno klientského počítače je „yesmin“. Uživatelské jméno serverového počítače je „fahmida“. Připojení SSH bylo navázáno správně, protože se uživatelské jméno změnilo z ‚yesmin‘ na ‚fahmida‘. K obsahu serverového počítače je nyní možné přistupovat bez problémů. Nyní, když uživatel spustí příkaz, je výstup generován na základě počítače serveru.
diplom
Použití autorizovaných klíčů k navázání připojení SSH bylo vysvětleno v tomto kurzu založeném na localhost. Stejný proces můžete provést pro vytvoření připojení SSH pro vzdálený hostitel. Můžete také použít příkaz ssh-copy-id k připojení SSH k serveru uvedenému v jiném tutoriálu.