GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit klíče SSH na CentOS 8

Secure Shell (SSH) je kryptografický síťový protokol navržený pro bezpečné spojení mezi klientem a serverem.

Dva nejoblíbenější mechanismy autentizace SSH jsou autentizace na základě hesla a autentizace na základě veřejného klíče. Použití klíčů SSH je obecně bezpečnější a pohodlnější než tradiční ověřování heslem.

Tento článek popisuje, jak vygenerovat klíče SSH na systémech CentOS 8. Také vám ukážeme, jak nastavit ověřování založené na klíči SSH a připojit se ke vzdáleným serverům Linux bez zadávání hesla.

Vytváření klíčů SSH v systému CentOS #

Je pravděpodobné, že na klientském počítači CentOS již máte pár klíčů SSH. Pokud generujete nový pár klíčů, starý bude přepsán.

Spusťte následující ls příkaz ke kontrole, zda soubory klíčů existují:

ls -l ~/.ssh/id_*.pub

Pokud výstup příkazu vrátí něco jako No such file or directory nebo no matches found to znamená, že uživatel nemá klíče SSH a můžete pokračovat dalším krokem a vygenerovat pár klíčů SSH.

Jinak, pokud máte pár klíčů SSH, můžete je buď použít, nebo zálohovat staré klíče a vygenerovat nové.

Chcete-li vygenerovat nový 4096bitový pár klíčů SSH s vaší e-mailovou adresou jako komentář, spusťte:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Budete vyzváni k zadání názvu souboru:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Stiskněte Enter přijmout výchozí umístění souboru a název souboru.

Dále budete požádáni o zadání bezpečné přístupové fráze. Jestli chcete použít přístupovou frázi, je to na vás. Přístupová fráze přidá další vrstvu zabezpečení. Pokud heslo používat nechcete, stiskněte Enter .

Enter passphrase (empty for no passphrase):

Celá interakce vypadá takto:

Chcete-li ověřit, že byl vygenerován nový pár klíčů SSH, zadejte:

ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

A je to. Úspěšně jste vygenerovali pár klíčů SSH na klientském počítači CentOS.

Zkopírujte veřejný klíč na server #

Nyní, když je vygenerován pár klíčů SSH, dalším krokem je zkopírovat veřejný klíč na server, který chcete spravovat.

Nejjednodušší a doporučený způsob, jak zkopírovat veřejný klíč na vzdálený server, je použít ssh-copy-id užitečnost. Typ terminálu na místním počítači:

ssh-copy-id remote_username@server_ip_address

Příkaz vás požádá o zadání remote_username heslo:

remote_username@server_ip_address's password:

Jakmile je uživatel ověřen, obsah souboru veřejného klíče (~/.ssh/id_rsa.pub ) bude připojen ke vzdálenému uživateli ~/.ssh/authorized_keys soubor a připojení bude uzavřeno.

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

Pokud ssh-copy-id není na vašem místním počítači k dispozici, zkopírujte veřejný klíč pomocí následujícího příkazu:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Přihlaste se na svůj server pomocí klíčů SSH #

Po dokončení výše uvedených kroků byste měli být schopni se přihlásit ke vzdálenému serveru, aniž byste byli vyzváni k zadání hesla.

Chcete-li to ověřit, zkuste se přihlásit na svůj server přes SSH:

ssh remote_username@server_ip_address

Pokud jste pro soukromý klíč nenastavili přístupovou frázi, budete okamžitě přihlášeni. V opačném případě budete požádáni o zadání přístupové fráze.

Deaktivace ověřování hesla SSH #

Chcete-li ke vzdálenému serveru přidat další vrstvu zabezpečení, můžete zakázat ověřování pomocí hesla SSH.

Než budete pokračovat, ujistěte se, že se můžete přihlásit na svůj server bez hesla jako uživatel s právy sudo.

Chcete-li deaktivovat ověřování heslem SSH, postupujte podle následujících kroků:

  1. Přihlaste se ke vzdálenému serveru:

    ssh sudo_user@server_ip_address
  2. Otevřete konfigurační soubor SSH /etc/ssh/sshd_config pomocí textového editoru:

    sudo nano /etc/ssh/sshd_config
  3. Vyhledejte následující direktivy a upravte je následovně:

    /etc/ssh/sshd_config
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no
  4. Jakmile budete hotovi, uložte soubor a restartujte službu SSH zadáním:

    sudo systemctl restart ssh

V tomto okamžiku je ověřování na základě hesla zakázáno.


Cent OS
  1. Jak nastavit klíče SSH

  2. Nastavení klíčů SSH na CentOS 7 – proces krok za krokem?

  3. Jak nastavit klíče SSH na CentOS 8

  1. Jak nastavit klíče SSH na Ubuntu 16.04

  2. Jak nastavit klíče SSH na Ubuntu 18.04

  3. Jak nastavit klíče SSH na Debianu

  1. Jak vygenerovat a nastavit klíče SSH na CentOS 7

  2. Jak nastavit přihlášení k SSH bez hesla

  3. Jak vygenerovat a nastavit klíče SSH na Debianu 10