Stručně řečeno, SSH nebo 'secure shell' je šifrovaný protokol, pomocí kterého se můžete vzdáleně připojit k serveru a mít přístup k informacím s ním spojeným. Poskytuje mnohem bezpečnější způsob přihlašování, aby poskytoval bezpečný způsob přihlašování, aniž by byla ohrožena bezpečnost.
Krok 1: Vytvořte pár klíčů
Začneme vytvořením dvojice klíčů v systému klienta nejprve s přístupem root podle typu v následujícím:
$ ssh-keygen
Tím se ve výchozím nastavení spustí nejnovější ssh-keygen k vytvoření 3072bitového páru klíčů RSA. Můžete přidat příznak -b 4086 a vygenerovat tak větší klíč. Stiskněte klávesu Enter a pár klíčů se uloží .ssh / podadresář. Upozorňujeme, že pokud jste hostem na serveru, na kterém již byl nainstalován klíč, zobrazí se výzva s dotazem, zda jej chcete přepsat nebo ne. Pokud je to váš případ, zadejte „y“, abyste signalizovali ano.
Poté se vás výzva zeptá, zda chcete přidat přístupovou frázi. Můžete se odhlásit, ale doporučujeme vám jeden přidat. Posiluje bezpečnostní protokol tím, že slouží další vrstvě ochrany, která obchází neoprávněného uživatele.
Krok 2: Zkopírujte veřejný klíč na server
Dále musíme přenést veřejný klíč na váš server ubuntu.
Obslužný program ssh-copy-id můžete použít pomocí následujícího příkazu:
$ ssh-copy-id uživatelské jméno @ server_host
To by mělo stačit během několika sekund. Pokud byl klíč úspěšně zkopírován, přejděte na třetí krok.
Někdy se stane, že metoda ssh-copy-id selže nebo prostě není k dispozici. V takovém případě jej budete muset zkopírovat pomocí SSH založeného na heslech. To lze provést pomocí příkazu cat a místo přepsání přidejte symbol >> pro přidání do obsahu.
$ kočka ~ /.ssh / id_rsa.hospoda | ssh remote_username @ server_ip_address"mkdir -p ~ /.ssh && kočka >> ~ /.ssh / authorized_keys "
Pokud se poprvé připojujete k novému hostiteli, systém vám zobrazí něco jako:
Stačí napsat ano a stisknout tlačítko Enter. Poté zadejte heslo k účtu pro přístup uživatele a veřejný klíč bude zkopírován na váš server Ubuntu.
V případě, že vám bude přístup SSH založený na heslech odepřen z nějakého důvodu, který nemůžete připnout, můžete vždy jen zkopírovat veřejný klíč ručně. Přidejte ~ /.ssh / authorized_keys na id_rsa.pub soubor na vzdáleném počítači. Dále se přihlaste k účtu vzdáleného serveru a zkontrolujte, zda existuje adresář ~ SSH. Pokud se tak nestane, zadejte:
$ mkdir -p ~ /.ssh
Nyní stačí přidat klíč:
$ echo public_key_string >> ~ /.ssh / authorized_keys$ chmod -R go = ~ /.ssh
Také se ujistěte, že používáte ~ SSH / UŽIVATEL adresář a NE kořenový adresář:
$ chown -R younis: younis ~ /.ssh
Krok 3: Ověřte klíče SSH
Dalším krokem je ověření klíčů SSH na serveru Ubuntu. Nejprve se přihlaste ke vzdálenému hostiteli:
$ ssh uživatelské jméno @ remote_host
Zobrazí se výzva k zadání klíče přístupové fráze, který jste přidali v kroku 2. Napište to dolů a pokračujte. Ověřování bude nějakou dobu trvat, a jakmile je hotovo, dostanete se do nového interaktivního prostředí na vašem serveru Ubuntu
Krok 4: Zakažte ověřování pomocí hesla
S autentizovanými klíči SSH již nepotřebujete systém ověřování pomocí hesla.
Pokud je na vašem serveru povoleno ověřování hesla, bude stále náchylné k neoprávněnému přístupu uživatelů prostřednictvím útoků hrubou silou. Bude tedy lepší, když zakážete jakékoli ověřování založené na heslech.
Nejprve zkontrolujte, zda máte ověřování na základě klíče SSH připravené pro vykořenit účet na tomto serveru. Pokud ano, měli byste jej změnit na přístupový účet privilegovaného uživatele sudo na tomto serveru, aby vám byl přístup správce otevřen v případě nouze nebo v případě, že systém čelí podezřelým činnostem.
Po udělení oprávnění správce k účtu vzdáleného přístupu se přihlaste ke vzdálenému serveru pomocí klíčů SSH s oprávněními root nebo sudo. Potom použijte následující příkaz pro přístup ke konfiguračnímu souboru démona SSH:
$ sudo gedit / etc / ssh / sshd_config
Když je soubor nyní otevřený, vyhledejte adresář „PasswordAuthentication“ a zadejte následující, abyste deaktivovali ověřování pomocí hesla a přihlašování SSH založené na hesle.
$ / etc / ssh / sshd_config…
HesloAuthentication no
…
Chcete-li vidět tyto změny ve skutečnosti, budete muset restartovat službu sshd pomocí následujícího příkazu:
$ sudo systemctl restart ssh
Před ukončením aktuální relace preventivně otevřete nové okno terminálu a otestujte, zda služba SSH funguje správně.
S vašimi ověřenými klíči SSH byste měli vidět, jak vše funguje jako obvykle. Můžete ukončit všechny aktuální relace serveru.
Závěr
Nyní, když máte zaveden ověřovací systém založený na klíči SSH, již nepotřebujete zranitelný systém ověřování pomocí hesla, protože se můžete jednoduše přihlásit bez hesla. Doufám, že vám tento návod pomohl.